Linux终端复合软件
需求1、当网络连接状态不好的时候,不会导致命令中断
2、用户需要长时间运行的命令。
1、nohup/setsid/&
参考资料:
https://blog.csdn.net/stpeace/article/details/76389073
https://blog.csdn.net/u011095110/article/details/78666833
https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
先来图
http://i2.运维网.com/images/blog/201809/07/0550baa5ea9b3a8ee6df532c6a19f40b.png
以上解释下
1、先nohup运行ping命令,会发现其是在bash下运行的进程
2、然后Ctrl+c,发送了信号给bash,nohup被中断了
3、nohup+&,
4、此时logout退出终端,发现ping命令依然在,但是其父进程id为1。
2、disdown
3、screen
参考资料:
http://man.linuxde.net/screen
https://wiki.archlinux.org/index.php/GNU_Screen_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
别说话,先来张图
http://i2.运维网.com/images/blog/201809/07/1a71d0564e551d46374f5328f9dfad55.png
http://i2.运维网.com/images/blog/201809/07/f43c5b3ac1ae7504cefea7037e4e5db9.png
参数含义命令行参数-ls显示目前所有的screen作业-wipe检查目前所有的screen作业,并删除已经无法使用的screen作业-S新建一个会话-d剥离一个会话-r重新attach一个会话-x共同加入一个会话会话窗口操作C+a ddetach,暂时离开当前sessionC+a kkill window,强行关闭当前的 windowC+a S横向分屏C+a tab键在各个分屏间切换C+a 竖线垂直分屏,需要screen版本大于等于4.1版本exit关闭当前的screen作业4、tmux
参考资料:
https://www.cnblogs.com/cbscan/articles/2888595.html
https://www.cnblogs.com/kevingrace/p/6496899.html
https://www.cnblogs.com/maoxiaolv/p/5526602.html
https://www.iyunv.com/better-screen-tmux.html
http://man.openbsd.org/OpenBSD-current/man1/tmux.1
https://www.jianshu.com/p/fd3bbdba9dc9
5、screen和tmux比较:
https://www.cnblogs.com/bamanzi/p/switch-tmux-to-gnu-screen.html
https://yanyiwu.com/work/2016/03/24/from-screen-to-tmux.html
6、总结
1、nohup一开始是在当前shell下的一个子进程。当退出ssh时,会将作业放到init下的一个子进程。
2、screen是一个screen作业一个init下的子进程
3、tmux是一个init下的子进程。
页:
[1]