nohup
后台运行命令,即使端口ssh,程序依旧运行。
此种方式的缺点是,应用程序没有交互界面了,程序的输出将会输出的一个xxx.out文件中,而且以后无法在界面控制程序的结束。必须通过kill的方式。所以这种方式显得很简单粗鲁,很少使用。
常用
1
| nohup ./xxx >output 2>&1 &
|
screen
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
安装
语法
1 2 3 4 5 6 7 8 9 10 11 12 13
|
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]
|
常用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| screen
screen ./xxxx &
screen -S sessionName
screen -ls
screen -r sessionName
screen -d sessionName
screen -d -r sessionName
screen -X -S session
|
快捷键
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Ctrl + a, d
Ctrl + a, c
Ctrl + a, w
Ctrl + a,p
Ctrl + a,n
Ctrl + a,0-9
|
jobs
查看当前终端后台运行的任务,但是换了终端就看不到
bg
将一个在后台暂停的命令,变成在后台继续执行
fg
将后台中的命令调至前台继续运行
ctrl+z
将一个正在前台执行的命令放到后台,并且处于暂停状态
进程
查看进程所在目录
1 2 3 4 5 6 7 8 9
| 使用ps -aux | grep 进程名称
cd /proc/11010 ll | grep -E -i 'cwd|exe'
|