&命令:
xxx >/dev/null 2>&1 & 屏蔽一切log
xxx >/tmp/xxx.log 2>&1 & 可以在xxx.log中看日志
适合在后台运行的命令有find、费时的打印作业、费时的排序及一些shell脚本。在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
不过,作业在后台运行一样会将结果输出到屏幕上。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:
command >out.file 2>&1 &
在上面的例子中,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。
Linux后台进程管理 注意在使用jobnumber时当前任务的概念
jobs [-l] 查看当前在后台正在运行或者被挂起的任务。
fg [%jobnumber] 将后台任务调至前台继续运行
Ctrl+z 将一个在前台正在执行的命令放到后台,并处于暂停状态 (可以组合bg使用) -- 挂起前台进程 (Ctrl+c 终止前台进程)
bg [%jobnumber] 讲一个在后台暂停的命令变为继续执行(在后台)
终止后台进程
1.jobs 查看kill %jobnumber
2.ps 查看 kill [-SIGKILL] pid
5 Ways to Execute UNIX / Linux Commands (and Shell Scripts) in Background
1.nohup 避免退出登录时后台执行的命令或者脚本被自动终止
目前看来在Ubuntu Server上不存在这个问题,但是重新登录之后无法再连接到这个会话,jobs无法查看后台任务。
2.screen命令执行,重新登录后连接到会话 linux下的screen命令用来后台执行
3.at 指定日期与时间允许,作为批处理执行
4.watch连续执行命
ssh 关闭后仍保持当前运行的进程 -- 类似前述内容的一个综合以及一些新的东西,nohup命令参考
使用screen命令简单介绍如下:
screen perl static-100-10.pl
需要中断连接:
Ctrl+a d
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
查询screen进程:
ps x
查询screen作业
screen -ls
重连
screen -r 22011
screen介绍
1.使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session,screen命令可以解决这个问题。Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。screen为多重视窗管理程序,此处的视窗是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。
2.语法
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
3.参数说明
4.使用说明
C-a ? -> Help,显示简单说明
C-a " -> 列出终端列表
C-a A -> 重命名终端
C-a c -> 创建新的终端,并切换到该终端
C-a d -> 暂时断开会话,但所有任务都依然执行
C-a K -> 关闭当前终端,并切换到下一个终端(当没终端时 退到原始shell终端)
C-a n -> 切换到下一个终端
C-a p -> 切换到上一个终端
C-a t -> 显示当前时间,和系统的 load
C-a S -> 新建水平线分割终端
C-a Tab -> 水平线切换终端
C-a X -> 关闭当前终端
C-a + -> 扩大当前终端
C-a - -> 缩小当前终端
C-a [Space] -> 窗口切换
C-a 0-9 -> 在0-9个终端之间切换
C-a C-a -> 最近使用的2个窗口切换
C-a w -> 列出终端列表
C-a x -> 锁住当前窗口,需用用户密码解锁
C-a z -> 把当前会话放到后台执行,用 shell 的 fg 命令则可回去。
exit:关闭当前终端 (注:和“C-a c”一样
:screen <command> 新建 screen 终端,并运行命令<command>
:resize <height> 改变当前窗口高度为<height>
:quit 退出 screen 关闭所有 screen 终端,结束其中所有任务
Ctrl-a <Esc> 进入选择模式
<PageUp> 或 Ctrl-u 光标上移一页
<PageDown> 或 Ctrl-d 光标下移一页
<Left> 或 h 光标左移一格
<Down> 或 j 光标下移一行
<Up> 或 k 光标上移一行
<Right> 或 l 光标右移一格
<Space> 选择开始,选择结束
<Esc> 退出选择模式
Ctrl-a ] 粘贴选择的内容
来源:百度百科
参考链接 linux 技巧:使用 screen 管理你的远程会话
转载于:https://blog.51cto.com/xjhznick/1405261