系统管理员工具包: 进程管理技巧
2008-11-11 08:13:38 来源:WEB开发网可以使用 jobs 命令获取正在后台运行的作业列表,如清单 15 所示。
清单 15. 使用 jobs 命令
$ jobs
[1]- Stopped emacs MCSLP/Intranet/News.pm
[2]+ Stopped emacs MCSLP/Intranet/Media.pm
[3] Running find / -name "core" >/tmp/corelist 2>&1 &
在该清单中,第二个 emacs 命令使用了 + 号标注。这表示 Shell 认为它是当前的活动作业。先前启动的 find 不是活动的工作,因为它不需要进行交互(尽管它产生输出,它并不需要输入来继续),因而不是活动的进程。第一个 emacs 进程使用了 -- 标注,说明 Shell 认为它先前是活动的命令。可以分别使用 %+ 和 %- 字符串来引用这些作业。
可以通过在 fg 后输入作业编号或者作业字符串(%+、%-)来将任何正在运行的作业切换为前台进程。如果省略了引用,Shell 就切换到当前的活动工作。
要挂起当前运行的进程,按 Control-Z。可以使用下面的代码进行重新配置:
ftp>
[3]+ Stopped ftp atuin
它可以和许多不同的命令及应用程序一起使用。对于在 Shell 中运行的大部分简单命令,如 ls 或者 find,它也应该是有效的。请注意,该作业被标记为 Stopped。这意味着已经暂停了该命令的执行。要将该命令切换为后台进程,使用 bg 命令。与 fg 一样,bg 接受作业引用或者在不带参数时缺省为当前活动的作业作为其参数。如果该命令需要输入(如编辑器、FTP 等),在 bg 命令之后再次按下回车时,会被警告该进程已暂时挂起(请参见清单 16)。
清单 16. 进程被暂时挂起的警告
更多精彩
赞助商链接