文章目錄
一.後臺執行
nohup sh run.sh >log.txt 2>&1 &
如果是python程序要加-u
,不然日誌不能正常輸出,執行:
nohup python -u run.py >log.txt 2>&1 &
輸出:
[1] 13549 # 進程號,後面查看相關信息用到。
這個命令分五個部分,分別是nohup
、sh run.sh
、>log.txt
、2>&1
、&
。
nohup
和最後的&
:表示命令在後臺執行sh run.sh
執行run.sh腳本>log.txt
是將信息輸出到log.txt日誌中2>&1
是將標準錯誤信息轉變成標準輸出,這樣就可以將錯誤信息輸出到log.txt 日誌裏面來。- 如果是python腳本,加
-u
選項輸出print
內容:nohup python -u run.py >log.txt 2>&1 &
其中 0、1、2分別代表如下含義:
- 0 – stdin (標準輸入)
- 1 – stdout (標準輸出)
- 2 – stderr (標準錯誤)
二.後臺查看
1. 查看本地進程
ps -ef | grep 13549
輸出:
work 12929 44118 0 11:36 pts/2 00:00:00 grep 13549
這個命令也是分五個部分ps
、-ef
、 |
、 grep
、 13549
。
ps
表示將某個進程顯示出來-e
表示顯示所有程序、-f
表示顯示UID,PPIP,C與STIME欄位grep
表示查找和其後面內容相關的信息,即和13549
相關的信息|
是管道命令 是指ps命令與grep同時執行
輸出的信息分別是:UID 、 PID 、PPID 、 C STIME 、 TTY、 TIME 、 CMD。
- UID 程序被該 UID 所擁有
- PID 就是這個程序的 ID
- PPID 則是其上級父程序的ID
- C CPU 使用的資源百分比
- STIME 系統啓動時間
- TTY 登入者的終端機位置
- TIME 使用掉的 CPU 時間。
- CMD 所下達的指令爲何
2. 查看hadoop進程
vim log.txt
三.終止進程
1.終止本地進程 kill -9 pid
kill -9 13549
2.終止hadoop進程 hadoop job -kill jobid
hadoop job -kill job_20180809144936_572433