標籤:後台運行 linux 前台 fg jobs bg
Linux中jobs的管理常用命令
1 將命令或者指令碼放到後台去運行
#命令 &
eg
rpm -ivh zlib**.rpm &
./run.sh &
2 將命令暫停到後台
Ctrl+z
3 查看後台命令
#jobs
參數:
-l: 除了列出作業號之外同時列出PID
-r: 列出僅在後台運行(run)的作業
-s:僅列出暫停作業
4 把暫停作業拿到幕後處理 bg
Ctrl+z 先把作業暫停到後台
#bg job_id 實現把作業調到後台執行
5 把後台作業調到前台處理 fg
#fg job_id
6 用kill發送訊號來操作jobs
kill -signal %job_id 這裡必須要加%,否則會有驚喜,嘿嘿
參數:
-l 列出當前kill能夠使用的訊號
signal:表示給背景作業什麼指示,用man 7 signal可知
-1(數字):重新讀取一次參數的設定檔案(類似reload)
-2:表示與由鍵盤輸入ctrl-c同樣的動作
-9:立刻強制移除一個作業
-15:以正常方式終止一項作業。與-9不一樣。
示範:
amp1:~ # cat jobs.sh ##jobs指令碼,每兩秒鐘輸入時間到jobs.txt中#!/bin/bashwhile :do sleep 2time=`date +"%H-%M-%S"`echo "this time is $time" >> jobs.txtdoneamp1:~ # ./jobs.sh & ##放到後台運行[1] 50770You have new mail in /var/mail/rootamp1:~ # amp1:~ # jobs ##查看作業[1]+ Running ./jobs.sh &1:~ # fg 1 ##調用到前台運行./jobs.sh^Z ##ctrl+z 調用暫停[1]+ Stopped ./jobs.shamp1:~ # watch cat jobs.txt ##動態顯示jobs.txt寫入的狀態this time is 20-10-49this time is 20-10-51this time is 20-10-53this time is 20-10-55this time is 20-10-57this time is 20-10-59this time is 20-11-01this time is 20-11-03this time is 20-11-05this time is 20-11-07this time is 20-11-09this time is 20-11-11this time is 20-11-13this time is 20-11-15 ##看這個時間,現在是暫停狀態------------------------------------------------------------------amp1:~ # bg 1 ##調用暫停作業,到後台運行[1]+ ./jobs.sh &You have new mail in /var/mail/rootamp1:~ # jobs ##jobs運行狀態[1]+ Running ./jobs.sh &1:~ # 接著上面的amp1:~ # watch cat jobs.txtthis time is 20-10-49this time is 20-10-51this time is 20-10-53this time is 20-10-55this time is 20-10-57this time is 20-10-59this time is 20-11-01this time is 20-11-03this time is 20-11-05this time is 20-11-07this time is 20-11-09this time is 20-11-11this time is 20-11-13this time is 20-11-15this time is 20-18-00 //這裡已經暫停了7分鐘,然後再次啟動,說明bg命令生效了this time is 20-18-02this time is 20-18-04this time is 20-18-06this time is 20-18-08this time is 20-18-10this time is 20-18-12amp1:~ # kill -9 %1 #成功的殺死jobsamp1:~ # kill -9 %1-bash: kill: %1: no such jobYou have new mail in /var/mail/rootamp1:~ # jobsamp1:~ # jobs
本文出自 “天道酬勤” 部落格,請務必保留此出處http://luzhi1024.blog.51cto.com/8845546/1651727
Linux中jobs的管理常用命令