红联Linux门户
Linux帮助

如何使程序脱离终端在后台运行

发布时间:2015-09-29 19:00:24来源:linux网站作者:漫步者2011

在项目中,用shell终端启动程序时,因为终端启动的程序依赖于启动它的终端,所以终端关闭时程序就会随之关闭。那么如何使程序独立于终端,即终端关闭时程序不会关闭那?可以将进程设置为守护进程,也可以设置为后台运行程序。


1.设置为守护进程

fork创建子进程,父进程退出;

子进程设置新会话(setsid()函数);

修改路径(mkdir);

设置文件权限掩码(umask(0));

关闭所有文件描述符;


2.nohup ./a.out &

可以设置为后台运行程序,而且会在当前目录下生成nohup.out,记录程序的输出信息;不依赖于当前shell终端;

./a.out & 依赖于当前终端的后台进程,关闭当前终端则进程会随之结束。

 

ubuntu后台运行某进程:http://www.linuxdiyf.com/linux/14497.html

后台运行Linux程序的方法:http://www.linuxdiyf.com/linux/8779.html

让Linux终端中执行的程序在后台运行:http://www.linuxdiyf.com/linux/3011.html

Linux下使Shell命令脱离终端在后台运行:http://www.linuxdiyf.com/linux/7311.html

Linux下nohup命令实现退出终端后程序继续后台运行:http://www.linuxdiyf.com/linux/10909.html