24. 命令: ps

ps命令给出正在运行的某个进程的状态,每个进程有特定的id成为PID。

  1. root@tecmint:~# ps 
  2. PID TTY          TIME CMD 
  3. 4170 pts/1    00:00:00 bash 
  4. 9628 pts/1    00:00:00 ps 

使用‘-A‘选项可以列出所有的进程及其PID。

  1. root@tecmint:~# ps -A 
  2. PID TTY          TIME CMD 
  3. 1 ?        00:00:01 init 
  4. 2 ?        00:00:00 kthreadd 
  5. 3 ?        00:00:01 ksoftirqd/0 
  6. 5 ?        00:00:00 kworker/0:0H 
  7. 7 ?        00:00:00 kworker/u:0H 
  8. 8 ?        00:00:00 migration/0 
  9. 9 ?        00:00:00 rcu_bh 
  10. .... 

注意:当你要知道有哪些进程在运行或者需要知道想杀死的进程PID时ps命令很管用。你可以把它与‘grep‘合用来查询指定的输出结果,例如:

  1. root@tecmint:~# ps -A | grep -i ssh 
  2. 1500 ?        00:09:58 sshd 
  3. 4317 ?        00:00:00 sshd 

ps命令与grep命令用管道线分割可以得到我们想要的结果。

25. 命令: kill

也许你从命令的名字已经猜出是做什么的了,kill是用来杀死已经无关紧要或者没有响应的进程.它是一个非常有用的命令,而不是非常非常有用.你可能很熟悉Windows下要杀死进程可能需要频繁重启机器因为一个在运行的进程大部分情况下不能够杀死,即使杀死了进程也需要重新启动操作系统才能生效.但在linux环境下,事情不是这样的.你可以杀死一个进程并且重启它而不是重启整个操作系统.

杀死一个进程需要知道进程的PID.

假设你想杀死已经没有响应的‘apache2'进程,运行如下命令:

  1. root@tecmint:~# ps -A | grep -i apache2 
  2. 1285 ?        00:00:00 apache2 

搜索‘apache2'进程,找到PID并杀掉它.例如:在本例中‘apache2'进程的PID是1285..

  1. root@tecmint:~# kill 1285 (to kill the process apache2) 

注意:每次你重新运行一个进程或者启动系统,每个进程都会生成一个新的PID.你可以使用ps命令获得当前运行进程的PID.

另一个杀死进程的方法是:

  1. root@tecmint:~# pkill apache2 

注意:kill需要PID作为参数,pkill可以选择应用的方式,比如指定进程的所有者等。

26. 命令: whereis

whereis的作用是用来定位命令的二进制文件\资源\或者帮助页.举例来说,获得ls和kill命令的二进制文件/资源以及帮助页:

  1. root@tecmint:~# whereis ls 
  2. ls: /bin/ls /usr/share/man/man1/ls.1.gz 
  3. root@tecmint:~# whereis kill 
  4. kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz 

注意:当需要知道二进制文件保存位置时有用.


相关内容