请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

子shell问题

我在一个守护脚本中 调用了另一个脚本。守护脚本正常运行的时候,子脚本也正常运行,当守护脚本奔溃退出的时候,子脚本也会随之退出。那么有没有办法 ,守护脚本退出不影响被调起来的子脚本(即脱离父子关系)。

正在回答

1回答

子脚本要放在后台运行才行,比如nohup sh 1.sh &,不知道你这样是要实现什的功能,这个思路有些问题……通常情况下,父脚本在运行的过程中调用子脚本获取一定功能,但父脚本死掉,子脚本也是需要随之死掉的,不然成僵尸进程了

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_ToutAn諾尘_0 #1
    比如nginx 的守护脚本,检测nginx 是不是挂掉。当nginx 挂掉,守护脚本会把它重新启动(这时,nginx作为子进程 再跑)。但是我不想守护脚本挂掉后(比如我杀掉他),nginx 进程也退出 。
    回复 有任何疑惑可以回复我~ 2020-03-23 13:19:34
  • 提问者 qq_ToutAn諾尘_0 #2
    子脚本 被调用后,可以看到 子脚本进程的父进程是 守护进程。能不能调用子脚本起来的服务进程 脱离 守护脚本存在呢
    回复 有任何疑惑可以回复我~ 2020-03-23 13:21:31
  • 酷田 回复 提问者 qq_ToutAn諾尘_0 #3
    看来你对子进程的理解有误,所谓子进程是一个进程在运行过程中,会重新启动一个新的进程来维持正常运转……你这种情况,你在脚本中检测到nginx挂掉的话,启动nginx的命令需要放在后台运行,正常命令后面加&
    回复 有任何疑惑可以回复我~ 2020-03-23 13:22:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信