proc / $pID / stat文件不再包含父pID如果已经退出父pID并且它显示1而不是原始父pID
linux$cat /proc/6267/stat6267 (test3.sh) S 1 6265 ......# ^# |# I expected to get the origin parent pID but I get 1
为了快速重现此行为,我们可以使用以下脚本
test2.sh
#!/bin/shecho "test2=$$"./test3.sh &
test3.sh
#!/bin/shecho "test3=$$"sleep 1000
执行:
linux$./test2.shtest2=6318test3=6319linux$ps aux | grep test 6319 root 1484 S {test3.sh} /bin/sh ./test3.shlinux$cat /proc/6319/stat6319 (test3.sh) S 1 6318 2138 34816 6.......解决方法 在(父)执行完毕后,我认为你不能知道进程的父级.但也许你可以运行另一个程序来监视你的原始程序并维护一个日志文件或其他东西.当然,init采用孤立的进程. 总结
以上是内存溢出为你收集整理的linux – 如果子进程在后台启动并且父进程已经退出,如何知道父进程全部内容,希望文章能够帮你解决linux – 如果子进程在后台启动并且父进程已经退出,如何知道父进程所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)