0
A
回答
0
你不应该避免PID。它们是进程标识符,并且意在使用。
Bash自动监控它启动的子进程。最新的后台进程ID保存在$!中。 Bash还支持使用'%n'语法的作业控制。
您可以使用陷阱SIGCHLD来捕获子进程状态更改,并且可以等待一个或所有子进程使用wait命令完成。
这里是你的两个过程监控的一个粗略的估计,其中包括“JOB1”和“作业2”正在启动的示例脚本:
job1 & # start job1 in background
j1pid=$! # get its process id
job2 & # start job2 in background
j2pid=$1 # get its process id
trap 'err=1' ERR # trap all errors
err=
wait $j1pid # wait for job1 to complete
# at this point job1 could have completed normally,
# or either process could have had an error
trap - ERR # revert to "normal" handling of most errors
# kill the processes nicely, or abruptly
# kill -TERM sends the TERM signal to the process, which it can trap
# and do whatever pre-exit process is needed.
# kill -9 cannot be trapped.
for pid in $j1pid $j2pid ; do
kill -TERM $pid 2>/dev/null || kill -9 $pid
done
0
在Linux上你几乎已经拥有了这个属性的文件。如果您创建了一个进程,那么/ proc/procNum将在进程处于活动状态时存在。举例来说,如果你的进程号是1050,那么/ proc/1050将一直存在,直到进程死亡。我不知道删除这个文件是否会杀死这个进程,但你可以尝试将两者结合在一起。
+0
感谢您的信息!我检查过它,它是一个包含大量文件的目录。我无法删除它(即使我使用sudo),所以我无法做我正在寻找的东西。无论如何谢谢你:) – 2011-01-06 12:30:08
相关问题
- 1. 我可以将bash连接到现有的mongod进程吗?
- 2. 我可以将NSMutableString链接到UITextField吗?
- 3. 我可以将Web链接添加到XML文档中吗?
- 4. 我可以将未解析的引用链接到中止吗?
- 5. 我可以将社交媒体链接嵌入到常用文件中吗?
- 6. 我可以使用#pragma链接到单个obj文件吗?
- 7. 我可以通过UIWebView链接到我的项目中的HTML文件吗?
- 8. 可以将单个xml文件链接到多个java类吗?
- 9. 我们可以直接将Parquet文件加载到Hive中吗?
- 10. 我可以以编程方式将链接注释添加到PDF中吗?
- 11. 我可以分享一个链接到文本文件的excel文件吗?
- 12. 我可以在不同的进程中连接到JVM吗?
- 13. 可以将.so文件静态链接到可执行文件吗?
- 14. 我可以将大的json文件直接保存到mongodb吗?
- 15. 我可以从.html文件中用android中的链接调用.java文件吗?
- 16. 我可以将多个BOOST单元测试链接到单个测试二进制文件中吗?
- 17. 我可以将我的模式中的maxOccurs链接到目标xml文件中另一个属性的值吗?
- 18. 我可以连接到远程sqlite二进制转储文件吗?
- 19. 我们可以直接将WARC文件索引到Solr吗?
- 20. 我可以在Crystal Reports中进行两级链接吗?
- 21. 我可以使用actionResulting将问卷链接到CarePlan活动吗?
- 22. 我可以将xslt链接到另一个xslt吗?
- 23. 我可以将堆栈添加到ArrayList(或链接列表)吗?
- 24. 我可以将xml文件链接到未保存在同一目录中的xsl文件吗?
- 25. 如何直接链接到我可以更改的文件?
- 26. 我可以在facebook iFrame中使用flash(链接到xml文件)吗?
- 27. 我可以链接到R中的Business Objects Universe吗?
- 28. 我可以创建超链接来浏览Visual Studio文件吗?
- 29. 我可以用链接运行我的应用程序吗?
- 30. 我可以直接链接到GPL的FSF副本吗?
如果你说你想什么它可能会帮助去完成。 – 2011-01-05 21:40:21
我想要监视2个进程,因此如果其中一个崩溃,请让另一个崩溃。我读过使用PID来杀死它并不是一个好方法,因为另一个进程可能以相同的PID开始。因此,我正在寻找避免使用PID的方法。 – 2011-01-06 12:39:33