Tim*_*Tim 6 bash process daemon
在 bash shell 中,为了创建nohup mycommand &
孤立进程,我在运行命令后关闭了 bash shell。是否可以在不终止父 shell 的情况下进行?我想知道是否有一些类似于系统调用 fork() 和 exit() 的 shell 命令用于守护进程。
Gil*_*il' 10
要创建孤儿进程,父进程必须死亡。如果你不想你的壳死掉,那么壳不能是孤儿的父级。最简单的方法是让 shell fork 成为一个子进程,然后 fork 将成为孤儿的进程。这个双叉是守护进程的启动方式,如维基百科文章的介绍中所述。
在 shell 中,您已经知道如何创建子进程:使用&
. 要有一个子进程,它是同一个 shell 的一个分支,并让它依次分支一个后台进程,你只需要让解析器理解你。
{ nohup mycommand & } &
Run Code Online (Sandbox Code Playgroud)