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

Linux——nohup命令使用(weblogic启动命令)

2020-05-01 19:11 1121 查看

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

[root@lbogon roy]# ./test.sh &

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

[root@lbogon roy]# nohup ./test.sh &

这样的话虽然终端关闭后,程序不会停止,但是如果程序执行过程中报错,出现了logout,程序也会随之终止。所以如果我们希望程序可以一直在后台运行,无论是否报错,可以使用下面这个命令:

[root@lbogon roy]# nohup ./etl_rece.sh >etl_rece.out 2>&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),即标准输出以及错误输出都在etl_rece.out文件中,程序执行出现错误也不会终止。

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

[root@lbogon roy]# jobs
[root@lbogon roy]# fg %1

2.常用的weblogic启动server命令:

[root@lbogon roy]# nohup ./startWebLogic.sh >out.log 2>&1 &

微笑、只是一个表情 原创文章 40获赞 8访问量 2389 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: