我尝试在Ubuntu中使用shell杀死一个进程,该进程使用like:
创建#!/bin/bash
<!--There should be codes which can kill my app(run in the background)
echo "app will be run."
java -jar path/to/my/jar/file.jar /arguman/of/myApp.txt & << 'ENDAPP'
disown ENDAPP
我知道如何使用manuel杀死应用程序,如:
ps -ax -u | grep appName
然后找到processid,
kill [processId]
有可能吗?是的,怎么样? 谢谢。
答案 0 :(得分:0)
通过简单的搜索,您可以在此网站上找到如何在此处 的示例。 (或Google it:&#34; bash shell wait。&#34;)当您执行任何后台进程时,您可以获得新子进程的PID(&#34;进程ID&#34;)。你可以等孩子完成。你也可以杀了它。
显示执行jobs
的Shell命令也提供了PID。
然而,请记住&#34;杀死一个孩子&#34; ...虽然在这种情况下它不会让你进入监狱 ; - ) ......&#34;通常不是一件好事。 &#34;你不知道孩子在做什么,做了什么或者没有做什么,当你把那颗子弹穿过它的大脑时,什么数据现在可能处于不一致的状态。不可能可靠地调试任何依赖谋杀其子女的过程。
您可以&#34;发送不同的信号,&#34;例如SIGHUP
或SIGUSR1
,使用相同的kill
命令对进程进行设计,并将子进程设计为正在侦听该信号,以表明它必须关闭本身快速下降。&#34;总是给一个过程一个信号,以便按顺序放置自己的事务,然后离开这个致命的线圈&#39; ...&#34;