您的位置:首页 > 运维架构 > Shell

Linux—shell—nohup命令使用(weblogic启动命令)nohup sh run.sh

2017-10-13 23:12 441 查看
转自:http://blog.csdn.net/Roy_70/article/details/61918182

Linux下有时候我们希望某个程序可以一直在后台执行,很多都是使用& 在程序命令结尾来让程序自动运行。 

例如:
[root@lbogon roy]# ./test.sh &
1

但是这样子在终端关闭的时候,程序也会随之停止,此时我们可以使用nohup命令: 

nohup command & 

例如:
[root@lbogon roy]# nohup ./test.sh &
1

这样的话虽然终端关闭后,程序不会停止,但是如果程序执行过程中报错,出现了logout,程序也会随之终止。所以如果我们希望程序可以一直在后台运行,无论是否报错,可以使用下面这个命令:
[root@lbogon roy]# nohup ./test.sh >output.log 2>&1 &
1

为什么这么写有用,我们需要知道Linux操作系统中有三个常用的流: 

  0:标准输入流 stdin 

  1:标准输出流 stdout 

  2:标准错误流 stderr 

一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法,所以上条命令中>output.log是将输出写入到output.log文件中,2>&1意思是把标准错误(2)重定向到标准输出中(1),即标准输出以及错误输出都在output.log文件中,程序执行出现错误也不会终止。


延伸

1.当在后台运行了程序的时候,可以用jobs命令来查看后台作业的状态。在有多个后台程序时,要使用来参数的fg命令将不同序号的后台作业切换到前台上运行。
[root@lbogon roy]# jobs
[root@lbogon roy]# fg %1
1
2

2.常用的weblogic启动server命令:
[root@lbogon roy]# nohup ./startWebLogic.sh >out.log 2>&1 &
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: