保留超过1个pid,以便我可以在以后杀死进程

时间:2017-10-13 05:39:07

标签: bash scripting

我正在使用类似这样的脚本启动多个进程:

#!/bin/bash

./gradlew services:service1:bootRun > /dev/null &

cd "./services/service2"

../../gradlew bootRun > /dev/null &

问题是我不知道如何在不从lsof获取进程ID的情况下停止这些服务。

我开始提供超过1项服务。

我想要的是一种简单的方法,可以在以后杀死这两个进程而无需手动查找进程ID。

我正在启动2项服务,这使它变得更加复杂。

1 个答案:

答案 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
$