当前位置: 技术问答>linux和unix
如何编写服务程序,执行后返回到shell,但程序在后台运行?
来源: 互联网 发布时间:2015-07-10
本文导语: 如何编写服务程序,执行后返回到shell,但程序在后台运行? 例如: 、sdf #>/usr/sbin/bootpd #> | if fork() exit(0); if fork() exit(0); setsid(); close(0); close(1); close(2); signal(SIGTERM, SIG_IGN); signal(SIGPIPE, SIG...
如何编写服务程序,执行后返回到shell,但程序在后台运行?
例如:
、sdf
#>/usr/sbin/bootpd
#>
例如:
、sdf
#>/usr/sbin/bootpd
#>
|
if fork() exit(0);
if fork() exit(0);
setsid();
close(0);
close(1);
close(2);
signal(SIGTERM, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
signal(SIGCHLD, SIG_IGN);
if fork() exit(0);
setsid();
close(0);
close(1);
close(2);
signal(SIGTERM, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
signal(SIGCHLD, SIG_IGN);
|
写daemon程序,以前有人问过这样的问题,其实就是使用fork再创建一个进程,然后将此子进程与其父进程断绝关系,这样当父进程退出时,子进程仍可运行。
|
用nohup 命令应该可以解决,同意pacman
nohup /usr/sbin/bootpd &
nohup /usr/sbin/bootpd &