在linux系統中在後臺以作業形式執行命令
在linux系統中在後臺以作業形式執行命令
透過給命令列附加一個"&"字元,任何指定的命令也可以在後臺執行.通常,只有那些不需要鍵盤輸入而且不
會生成大量輸出的長時間執行的命令才適合在後臺執行.當bash shell在後臺執行命令時,該命令被稱為作
業(job),被分配一個作業號碼.
[root@sidatabase oradata]# cp system20130708.dmp / > cp.txt 2> /dev/null &
[1] 20629
在後臺啟動作業後,bash shell向使用者報告了兩條資訊:第一條是作業號碼,出現在方括號中;
第二條是後臺作業的程式id.上面的資訊說明該作業的作業號碼為1,cp命令的程式id為20629
用jobs命令列出當前作業
[root@sidatabase /]# jobs
[1]+ Running cp -i system20130708.dmp / > cp.txt 2> /dev/null & (wd: /oracle/oradata)
他的每個後臺作業都和作業號碼一起列出.最新操作的作業被作為當前作業,在jobs命令輸出中用一個"+"修飾.
用fg命令把作業置於前臺
可以用fg內建命令把後臺作業置於前臺執行.fg命令用作業號作為引數,如果沒有提供任何作業號碼,將在前臺執行當前
作業.
[root@sidatabase oradata]# fg 1
cp -i system20130708.dmp / > cp.txt 2> /dev/null
cp -i system20130708.dmp / > cp.txt 2> /dev/null正在前臺執行,因此,當程式仍在執行時,shell不會傳送列印提示
符.
用ctrl+z掛起前臺作業
ctrl+z控制組合鍵是掛起程式的一種方法.當使用者掛起前臺命令時,仔細觀察bash shell的輸出,會發現bash shell把任何
掛起的前臺程式都看成作業.
[root@sidatabase oradata]# fg 1
cp -i system20130708.dmp / > cp.txt 2> /dev/null
^Z
[1]+ Stopped cp -i system20130708.dmp / > cp.txt 2> /dev/null
[root@sidatabase oradata]# jobs
[1]+ Stopped cp -i system20130708.dmp / > cp.txt 2> /dev/null
[root@sidatabase oradata]# ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3297 0.0 0.0 4056 544 tty2 Ss+ Aug09 0:00 /sbin/mingetty
root 3299 0.0 0.0 4056 540 tty3 Ss+ Aug09 0:00 /sbin/mingetty
root 3301 0.0 0.0 4056 540 tty4 Ss+ Aug09 0:00 /sbin/mingetty
root 3303 0.0 0.0 4056 540 tty5 Ss+ Aug09 0:00 /sbin/mingetty
root 3305 0.0 0.0 4056 544 tty6 Ss+ Aug09 0:00 /sbin/mingetty
root 3345 0.0 0.0 129680 25964 tty1 Ss+ Aug09 5:39 /usr/bin/Xorg :
root 6828 0.0 0.0 108452 1932 pts/0 Ss 08:46 0:00 -bash
root 25925 37.0 0.0 113636 896 pts/0 T 11:12 1:36 cp -i system201
root 27324 12.0 0.0 110232 1168 pts/0 R+ 11:16 0:00 ps u
當程式被掛起(即被停止)時,被分配給一個作業號碼(如果沒有的話),並被置於後臺.jobs命令把該作業報告成"停止的"
作業.ps命令確定程式處於停止(掛起)狀態.
重新啟動掛起在後臺的作業
掛起在後臺的作業可以用bg內建命令重新啟動.像fg命令一樣,bg命令把作業號碼作為引數,或者,如果沒有提供任何
作業號碼,就使用當前作業
[root@sidatabase oradata]# bg 1
[1]+ cp -i system20130708.dmp / > cp.txt 2> /dev/null &
[root@sidatabase oradata]# jobs
[1]+ Running cp -i system20130708.dmp / > cp.txt 2> /dev/null &
[root@sidatabase oradata]#
作業號碼1現在再次處於執行狀態
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-769148/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在PL/SQL中執行作業系統命令SQL作業系統
- 在PL/SQL中執行作業系統的命令SQL作業系統
- 用nohup命令程式在後臺執行
- 在sqlplus執行作業系統命令SQL作業系統
- Nohup命令讓Linux下的程式在後臺執行 - 轉Linux
- scp 在後臺執行
- 遠端啟動命令,讓命令程式在後臺執行
- Linux 後臺執行命令Linux
- linux命令後臺執行Linux
- Springboot 在 Linux 中打包 Jar 包在後臺執行Spring BootLinuxJAR
- 以作業系統的角度述說執行緒與程式作業系統執行緒
- Linux 命令的後臺執行Linux
- Linux nohup:後臺不掛起命令(後臺執行命令)Linux
- 後臺執行以及保持程式在後臺長時間執行
- 如何通過 SSH 在遠端 Linux 系統上執行命令Linux
- shell:nohup (在系統後臺不掛起地執行命令,退出終端不會影響程式的執行)
- [linux] 使用Screen後臺執行命令Linux
- 在 Windows 中執行 Linux 命令的 4 種方法WindowsLinux
- Python 執行 Linux 作業系統命令PythonLinux作業系統
- Linux讓程式在後臺執行的三種方法Linux
- Windows Subsystem for Linux 允許在Windows 11中執行Linux系統WindowsLinux
- 在shell中執行SQL*Plus命令SQL
- 在Linux作業系統上執行Windows應用程式(轉)Linux作業系統Windows
- 【OS】Linux命令如何放到後臺執行Linux
- Docker命令-docker exec-在執行的容器中執行命令Docker
- Linux 讓程式在後臺可靠執行的幾種方法Linux
- Linux系統執行命令方法Linux
- java -jar 在後臺執行和關閉JavaJAR
- 將程式在後臺執行和殺掉後臺的程式
- 在Linux中,系統預設的執行級別是什麼?Linux
- java 執行作業系統命令Java作業系統
- linux後臺執行命令:&與nohup的用法Linux
- Linux後臺執行指令碼命令之nohupLinux指令碼
- 使用nohup命令讓linux程式後臺執行Linux
- 在 Linux 中執行特定命令而無需 sudo 密碼Linux密碼
- Linux 技巧:讓程式在後臺可靠執行的幾種方法Linux
- Linux 下讓程式在後臺可靠執行的幾種方法Linux
- 在Linux中,如何進行系統故障排查?Linux