本文主要是介绍如何使程序脱离终端在后台运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在项目中,用shell终端启动程序时,因为终端启动的程序依赖于启动它的终端,所以终端关闭时程序就会随之关闭。那么如何使程序独立于终端,即终端关闭时程序不会关闭那?可以将进程设置为守护进程,也可以设置为后台运行程序。
1. 设置为守护进程
fork创建子进程,父进程退出;
子进程设置新会话(setsid()函数);
修改路径(mkdir);
设置文件权限掩码(umask(0));
关闭所有文件描述符;
2. nohup ./a.out &
可以设置为后台运行程序,而且会在当前目录下生成nohup.out,记录程序的输出信息;不依赖于当前shell终端;
./a.out & 依赖于当前终端的后台进程,关闭当前终端则进程会随之结束;
这篇关于如何使程序脱离终端在后台运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!