显示标签为“bg”的博文。显示所有博文
显示标签为“bg”的博文。显示所有博文

2008年11月11日星期二

Linux系统下运行命令时CTRL+Z的作用

Linux系统下运行命令时CTRL+Z的作用

  命令运行时使用CTRL+Z,强制当前进程转为后台,并使之停止。

  1. 使进程恢复运行(后台)

  (1)使用命令bg

  Example:

  zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv01

  *这里使用CTRL+Z,此时serv01是停止状态*

  [1]+ Stopped ./tcpserv01

  zuii@zuii-desktop:~/unp/tcpcliserv$ bg

  [1]+ ./tcpserv01 & *此时serv01运行在后台*

  zuii@zuii-desktop:~/unp/tcpcliserv$

  (2)如果用CTRL+Z停止了几个程序呢?

  Example:

  zuii@zuii-desktop:~/unp/tcpcliserv$ jobs

  [1]- Running ./tcpserv01 &

  [2]+ Stopped ./tcpcli01 127.0.0.1

  zuii@zuii-desktop:~/unp/tcpcliserv$ bg %1

  bash: bg:任务 1 已转入后台 *后台运行*

  2. 使进程恢复至前台运行

  Example:

  zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv04

  [1]+ Stopped ./tcpserv04

  zuii@zuii-desktop:~/unp/tcpcliserv$ fg

  。/tcpserv04

  总结:

  (1) CTRL+Z停止进程并放入后台

  (2) jobs 显示当前暂停的进程

  (3) bg %N 使第N个任务在后台运行(%前有空格)

  (4) fg %N 使第N个任务在前台运行

  默认bg,fg不带%N时表示对最后一个进程操作!

bg 命令

如果已启用作业控制,则 bg 命令通过将暂挂的作业作为后台作业运行,可在当前环境中恢复执行这些作业。
如果指定的作业已经在后台运行,bg 命令不起作用并成功退出。
如果未提供 JobID 参数,bg 命令会使用最近暂挂的作业。
使用 bg 命令将作业放入后台,使该作业的进程标识在当前 shell 环境中被知晓。
bg 命令输出显示作业号和与该作业相关的命令。作业号可与 waitfg

kill 命令一起使用,
只要在作业号前加上 %(百分号)前缀。例如:kill %3。
使用 Ctrl-Z 按键顺序就可以暂挂作业。使用 bg 命令就可在后台重新启动该作业。
当作业无需终端输入且作业输出被重定向至非终端文件时,这么做是有效的。
如果后台作业具有终端输出,可输入以下命令强制停止该作业:
stty tostop
输入以下命令可停止后台作业:
kill -s stop JobID
/usr/bin/bg 命令在自己的命令执行环境中操作时无效,因为该环境没有可处理的暂挂作业。如同以下示例所示:
Command | xargs bg
每个 /usr/bin/bg 命令在不同环境中运行并且无法共享父 shell 的作业理解。
由于此原因,bg 命令作为 Korn Shell 或 POSIX shell(经常是内置的)实行。

网站统计