1.控制进程(中断一个进程)
打开一个进程,会不返回shell提示符,使用Ctrl - C 来返回shell提示符,关闭程序
2.把一个进程放在后台
放在后台 的进程,让程序在后台运行,返回shell提示符,
xlogo & //进程 &
同时打印一些有趣的数字。 这条信息是
shell 特性的一部分,叫做工作控制 如:[1] 28236 已经启动了 工作号为
1(“[1]”),PID 为28236的程序
3.进程返回到前台
在后台运行的进程,在命令行中一切的输入都是免疫的,ctrl - c 也不能结束它,让他返回前台的命令是 fg
fg %1 // 1 是工作号 ,可以使用jobs查看正在运行的进程的工作号
4.停止不是终止一个进程
把一个进程从前台转移到后台, 使用Ctrl - z ,使用 fg 命令,可以恢复程序到前台运行,或者用 bg 命令把程序移到后台。
bg %1 //%1 是jobspec
为什么要从命令行启动一个图形界面程序呢?有两个原因。第一个,你想要启动的程序,可能 没有在窗口
管理器的菜单中列出来(比方说 xlogo)。第二个,从命令行启动一个程序, 你能够看到一些错误信息,
如果从窗口系统中运行程序的话,这些信息是不可见的。有时候, 一个程序不能从图形界面菜单中启动。
这时候,应该从命令行中启动它。我们可能会看到 错误信息,这些信息揭示了问题所在。一些图形界面程
序还有许多有意思并且有用的命令行选项。
5.kill 发送信号
语法
kill [-signal] PID
选项可以不写 ,默认是发送终止(TERM)信号
编号 | 名字 | 含义 |
---|---|---|
1 | HUP | 挂起。这是美好往昔的痕迹,那时候终端机通过电话线和调制解调器连接到 远端的计算机。这个信号被用来告诉程序,控制的终端机已经“挂起”。 通过关闭一个终端会话,可以说明这个信号的作用。发送这个信号到终端机上的前台程序,程序会终止。许多守护进程也使用这个信号,来重新初始化。这意味着,当发送这个信号到一个守护进程后, 这个进程会重新启动,并且重新读取它的配置文件。Apache 网络服务器守护进程就是一个例子。 |
2 | INT | 中断。实现和 Ctrl-c 一样的功能,由终端发送。通常,它会终止一个程序。 |
9 | KILL | 杀死。这个信号很特别。鉴于进程可能会选择不同的方式,来处理发送给它的 信号,其中也包含忽略信号,这样呢,从不发送 Kill 信号到目标进程。而是内核立即终止 这个进程。当一个进程以这种方式终止的时候,它没有机会去做些“清理”工作,或者是保存劳动成果。 因为这个原因,把 KILL 信号看作杀手锏,当其它终止信号失败后,再使用它。 |
15 | TERM | 终止。这是 kill 命令发送的默认信号。如果程序仍然“活着”,可以接受信号,那么 这个信号终止。 |
18 | CONT | 继续。在停止一段时间后,进程恢复运行。 |
19 | STOP | 停止。这个信号导致进程停止运行,而没有终止。像 KILL 信号,它不被 发送到目标进程,因此它不能被忽略。 |
3 | QUIT | 退出 |
11 | SEGV | 段错误。如果一个程序非法使用内存,就会发送这个信号。也就是说, 程序试图写入内存,而这个内存空间是不允许此程序写入的。 |
20 | TSTP | 终端停止。当按下 Ctrl-z 组合键后,终端发送这个信号。不像 STOP 信号, TSTP 信号由目标进程接收,且可能被忽略。 |
28 | WINCH | 改变窗口大小。当改变窗口大小时,系统会发送这个信号。 一些程序,像 top 和 less 程序会响应这个信号,按照新窗口的尺寸,刷新显示的内容。 |
6.其他与进程相关的命令
命令名 | 命令描述 |
---|---|
pstree | 输出一个树型结构的进程列表,这个列表展示了进程间父/子关系。 |
vmstat | 输出一个系统资源使用快照,包括内存,交换分区和磁盘 I/O。 为了看到连续的显示结果,则在命令名后加上延时的时间(以秒为单位)。例如,“vmstat 5”。 终止输出,按下 Ctrl-c 组合键。 |
xload | 一个图形界面程序,可以画出系统负载的图形。 |
tload | 与 xload 程序相似,但是在终端中画出图形。使用 Ctrl-c,来终止输出。 |