远程连接Linux,如何使程序断开连接后继续运
答案:2 悬赏:20 手机版
解决时间 2021-02-06 12:01
- 提问者网友:沦陷
- 2021-02-05 16:55
远程连接Linux,如何使程序断开连接后继续运
最佳答案
- 五星知识达人网友:迟山
- 2021-02-05 18:03
1. nohup 命令
nohup命令的功能就和它的名字一样,no hup,忽略hup信号,不挂断进程,进程仍然属于当前会话(终端关闭后,进程会变成孤儿进程,PPID变成1)。
例如:(不加& 命令不会在后台执行)
[root@localhost ~]# nohup ping 127.0.0.1 &[1] 27641nohup: 忽略输入并把输出追加到"nohup.out"123
nohup会将ping命令的默认输出从屏幕重定向到当前目录的nohup.out文件,如果当前目录不可写,会重定向到 $HOME/nohup.out 。
如果ping命令已经重定向输出了,就不会重定向到nohup.out了,例如nohup ping 127.0.0.1>/dev/null &
2. screen 命令
如果程序需要交互等复杂的操作,推荐使用功能强大的screen。screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。
不是所有Linux都自带screen。查询安装包信息:rpm -qa|grep screen
安装方法:
CentOS系统:yum install screen
Debian 系统:apt-get install screen
用法:
打开新的会话窗口:screen
结束当前会话:exit
在新会话中执行程序(程序关闭时会话自动结束):screen vi test.c
打开新会话并起个名字:screen -S myname
暂时离开会话(经常用):Ctrl+a 然后 d
查看会话列表: screen -ls
恢复之前离开的会话:screen -r 会话名或进程号
清除dead状态的会话:screen -wipe
启动一个开始就是Detached状态的会话:screen -dmS 名字 命令
nohup命令的功能就和它的名字一样,no hup,忽略hup信号,不挂断进程,进程仍然属于当前会话(终端关闭后,进程会变成孤儿进程,PPID变成1)。
例如:(不加& 命令不会在后台执行)
[root@localhost ~]# nohup ping 127.0.0.1 &[1] 27641nohup: 忽略输入并把输出追加到"nohup.out"123
nohup会将ping命令的默认输出从屏幕重定向到当前目录的nohup.out文件,如果当前目录不可写,会重定向到 $HOME/nohup.out 。
如果ping命令已经重定向输出了,就不会重定向到nohup.out了,例如nohup ping 127.0.0.1>/dev/null &
2. screen 命令
如果程序需要交互等复杂的操作,推荐使用功能强大的screen。screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。
不是所有Linux都自带screen。查询安装包信息:rpm -qa|grep screen
安装方法:
CentOS系统:yum install screen
Debian 系统:apt-get install screen
用法:
打开新的会话窗口:screen
结束当前会话:exit
在新会话中执行程序(程序关闭时会话自动结束):screen vi test.c
打开新会话并起个名字:screen -S myname
暂时离开会话(经常用):Ctrl+a 然后 d
查看会话列表: screen -ls
恢复之前离开的会话:screen -r 会话名或进程号
清除dead状态的会话:screen -wipe
启动一个开始就是Detached状态的会话:screen -dmS 名字 命令
全部回答
- 1楼网友:低音帝王
- 2021-02-05 18:56
nohup xxxx &
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯