Job-Control

bg 命令的實際用途是什麼?

  • March 6, 2012

這是輸出:

[USER@SERVER ~] ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.037 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.030 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.026 ms
64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.026 ms
^Z
[1]+  Stopped                 ping localhost
[USER@SERVER ~] jobs
[1]+  Stopped                 ping localhost
[USER@SERVER ~] bg %1
[1]+ ping localhost &
64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.034 ms
[USER@SERVER ~] 64 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.030 ms
64 bytes from localhost (127.0.0.1): icmp_seq=8 ttl=64 time=0.032 ms

[USER@SERVER ~] ^C
[USER@SERVER ~] ^C
[USER@SERVER ~] 64 bytes from localhost (127.0.0.1): icmp_seq=9 ttl=64 time=0.031 ms
^C
[USER@SERVER ~] 64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.031 ms
64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.028 ms
ki64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.030 ms
ll %64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.031 ms
1
[1]+  Terminated              ping localhost
[USER@SERVER ~] 

的:

  1. 我開始 ping 本地主機

  2. CTRL+Z

  3. bg %1

  4. CTRL+C 不起作用。

5)我必須輸入“kill %1”才能殺死它。

“bg”命令的實際用途是什麼?它在現實世界中用在哪裡?

bg通常用於在後台執行程序,它沒有控制台互動,就像大多數具有圖形使用者界面的程序一樣。

**範例:**您想執行xterm &但忘記&在後台執行終端仿真器。因此,您使用 停止(阻塞)前台 xterm 程序Ctrl-Z並在後台使用bg.

如果要發送Ctrl-C到後台程序,請將其fg再次放在前台(或使用kill -2 %1)。

我經常將目錄更改為很多文件,它們屬於一起,並用一個程序打開所有文件:

cd /a/b/c eog 。eog 是 Eye of Gnome,一個圖片查看器

cd /x/b/c gedit *.html

在執行時,我意識到我有一個問題可以從命令行更好地回答。所以我打斷,把程序帶入後台:

Ctrl+Z

bg 1

現在我可以從 shell 呼叫命令,而無需打開新的 shell 並再次導航到該目錄。

引用自:https://unix.stackexchange.com/questions/33577