Linux nohup守护进程经验
来源:互联网 发布:自古枪兵幸运e 知乎 编辑:程序博客网 时间:2024/05/16 11:37
因为我使用xshell,启动jetty,但发现一关闭窗口就自动和主机断开了,和Windows的终端不一样,所以就上网找啊找,网上说普通的一些程序,& 结尾,终端关闭,那么程序也被关! 于是就查为什么ssh一关闭,程序就不再运行了?
如果需要退出终端后依旧在运行,那么可以使用 nohup、screen、setsid。
nohup命令可以用来执行其他命令,并且忽略SIGHUP信号(run a command immune to hangups, with output to a non-tty。Run COMMAND, ignoring hangup signals.)当一个虚拟终端的网络连接断开时,操作系统向正在运行的程序发送SIGHUP信号(HUP = HangUP、挂断),默认情况下这个信号将使程序退出。
nohup 命令 &
可以在后台运行命令,并且还有nohup.out日志运行文件产生,可以使用tail -f nohup.out来实时监控运行过程。
在Linux/Unix中,有这样几个概念:
进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。
会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。
会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。
根据POSIX.1定义:
挂断信号(SIGHUP)默认的动作是终止程序。
当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
如果会话期首进程终止,则该信号发送到该会话期前台进程组。
一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。
结论:因此当网络断开或终端窗口关闭后,也就是SSH断开以后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。
但是为了能够再注销以后 依然能后台运行,那么我们就可以使用nohup这个命令,我们现在开始查找find / -name ‘*http*’ &
,并且希望在后台运行,
那么就使用nohup:nohup find / -name “*httpd*”
此时默认地程序运行的输出信息放到当前文件夹的 nohup.out 文件中去
加不加&并不会影响这个命令 只是让程序 前台或者后台运行而已
简而言之:就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉。导致一旦ssh关闭,执行中的任务就取消了!!!
- Linux nohup守护进程经验
- Linux nohup 守护进程
- linux守护进程、SIGHUP与nohup详解
- linux守护进程、SIGHUP与nohup详解
- nohup 守护进程
- Linux C 守护进程实现后台运行nohup效果
- 守护进程 nohup node server.js &
- linux后台运行之&和nohup区别,模拟后台守护进程
- 用linux下的daemon函数来玩守护进程------类似于nohup ./a.out &
- Linux进程后台运行 nohup
- Linux后台运行进程nohup
- nohup命令:以守护进程方式运行一个程序
- 使用nohup以守护进程方式启动程序
- Tomcat 开启后会自动退出 nohup实现守护进程
- LINUX守护进程介绍
- Linux守护进程简介
- linux 守护进程编写
- linux 守护进程 daemon
- 设备驱动框架简介
- Java 获取文件创建时间2
- nyoj-32 组合数(DFS)
- zend studio 10破解/汉化
- MySQL性能剖析
- Linux nohup守护进程经验
- 多个UIImage合并成一个UIImage
- hdu4576 Robot (概率DP)
- Binary Tree Right Side View
- zoj 1025 wooden sticks
- 南邮 OJ 1581 筷子
- Hdu 5344 MZL's xor 2015ACM多校对抗赛第五场
- Big Number
- HashMap Hash碰撞 treemap