Linux——nohup命令使用(weblogic啓動命令)

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 &

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章