Linux终端复合软件

萝らか妹 提交于 2019-11-26 02:05:57

需求

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/

先来图

Linux终端复合软件

以上解释下
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)
别说话,先来张图
Linux终端复合软件
Linux终端复合软件

参数 含义
命令行参数
-ls 显示目前所有的screen作业
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业
-S 新建一个会话
-d 剥离一个会话
-r 重新attach一个会话
-x 共同加入一个会话
会话窗口操作
C+a d detach,暂时离开当前session
C+a k kill window,强行关闭当前的 window
C+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.linuxprobe.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下的子进程。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!