虚拟屏幕工具,可以理解为虚拟终端。
为了一个不让长时间运行的脚本中断,两个办法,
第一个 把任务丢到后台,日志输出, nohup command & ,即使终端断开,还会在后台运行,但是没有办法实时在屏幕查看任务输出的东西。
第二个 通过虚拟终端运行,screen。可以让虚拟终端前台或者后台运行。 w 命令看不到。
[root@chy002 ~]# screen [detached from 1951.pts-1.chy002]
首先运行命令 screen,进入虚拟终端,然后运行命令,可以通过 ctrl + a + d把screen丢到后台。
查看所有screen列表
[root@chy002 ~]# screen -ls There is a screen on: 1951.pts-1.chy002 (Detached) 1 Socket in /var/run/screen/S-root.
回到某个screen
#后加虚拟终端号 [root@chy002 ~]# screen -r 1951
建立自定义名称screen
[root@chy002 ~]# screen -S "test_screen" [detached from 1980.test_screen] [root@chy002 ~]# screen -ls There are screens on: 1980.test_screen (Detached) 1951.pts-1.chy002 (Detached) 2 Sockets in /var/run/screen/S-root.
linux下我们如果想一个任务或者程序后台执行可以使用&,linux还提供了其他任务调度的命令。
bg
将一个在后台暂停的命令,变成继续执行
fg
将后台中的命令调至前台继续运行
jobs
查看当前有多少在后台运行的命令
ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
nohup 命令
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部
nohup
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。 该命令的一般形式为:
nohup conmmand &
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1
在上面的例子中,输出被重定向到myout.file文件中