我正在使用这样的脚本启动多个进程:
#!/bin/bash
./gradlew services:service1:bootRun > /dev/null &
cd "./services/service2"
../../gradlew bootRun > /dev/null &
问题是我不知道如何在不从lsof
获取进程 ID 的情况下停止这些服务。
我正在启动 1 个以上的服务。
我想要的是一种简单的方法,可以在以后杀死这两个进程,而无需手动查找进程 ID。
我正在启动 2 个服务,这使它变得更加复杂。
在 shell 中,您可以使用 $!
获取后台作业 pid 。
$ sleep 60 &
[1] 23067
$ pid=$!
$ echo $pid
23067
$ ps p $pid u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 23067 0.0 0.0 11436 684 pts/3 S 22:20 0:00 sleep 60
$