【发布时间】:2015-05-11 14:57:27
【问题描述】:
我有一个如下所示的脚本:
pushd .
nohup java -jar test/selenium-server.jar > /dev/null 2>&1 &
cd web/code/protected/tests/
phpunit functional/
popd
硒服务器需要运行以进行测试,但是在 phpunit 命令完成后,我想终止正在运行的硒服务器。
我该怎么做?
【问题讨论】:
-
@isalgueiro 如果它们是在后台运行的其他进程怎么办?
-
%1代表“第一个后台作业”,您的脚本只将一个进程发送到后台tldp.org/LDP/abs/html/x9644.html -
@isalgueiro 是的,但是如果运行脚本的人在运行此脚本之前已经在终端中运行了后台进程怎么办?
-
我不认为脚本在同一个 shell 实例上运行。无论如何,如果您不想依赖作业编号(即
%1),您可以在运行 nohup 后保存$!并通过 PID 终止进程。 -
那么最好的选择是运行
kill %-,这将杀死最后一个工作
标签: bash command-line-interface