我正在使用类似这样的脚本启动多个进程:
#!/bin/bash
./gradlew services:service1:bootRun > /dev/null &
cd "./services/service2"
../../gradlew bootRun > /dev/null &
问题是我不知道如何在不从lsof
获取进程ID的情况下停止这些服务。
我开始提供超过1项服务。
我想要的是一种简单的方法,可以在以后杀死这两个进程而无需手动查找进程ID。
我正在启动2项服务,这使它变得更加复杂。
答案 0 :(得分:0)
在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
$