xDroid's Blog

15 photoshop and kill (从新手到菜鸟的Linux教程)

标题只是中二病又犯了……其实是pskill这两个命令。

ps其实只是显示当前系统进程快照的命令(process status),如果想要实时监控进程,可以使用top

wang:~$ ps
  PID TTY          TIME CMD
13718 pts/6    00:00:00 bash
13744 pts/6    00:00:00 ps

啊偶……怎么可能只有这些嘛(⊙_⊙)?其实呢,因为ps默认只列出在当前终端下,以相同用户运行的进程;但是并没有后台的任务,所以就只显示了bashps(这时候ps还没有结束哦!)。

那么试试看这个:

wang:~$ sleep 50 &
[1] 13792
wang:~$ ps
  PID TTY          TIME CMD
10666 pts/2    00:00:00 bash
13792 pts/2    00:00:00 sleep
13793 pts/2    00:00:00 ps
wang:~$ kill 13792
wang:~$ ps
  PID TTY          TIME CMD
10666 pts/2    00:00:00 bash
13830 pts/2    00:00:00 ps
[1]+  Terminated              sleep 50

不用太理会 & 这个符号,它是用来挂起sleep命令进入后台用的。在sleep执行期间,执行了一次ps,所以就能看到sleep\(≧▽≦)/之后又用kill加上PID(进程号),就可以干掉看不顺眼的进程啦。

可是怎么看所有的进程呢?有两个等效的开关:-A-e。它们输出都长这样:

wang:~$ ps -A
  PID TTY          TIME CMD
    1 ?        00:00:02 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 ksoftirqd/0
    4 ?        00:00:00 kworker/0:0
    5 ?        00:00:00 kworker/0:0H
    7 ?        00:00:04 rcu_sched
    8 ?        00:00:00 rcu_bh
    9 ?        00:00:02 rcuos/0
   10 ?        00:00:00 rcuob/0
...

输出实在是太长了。
如果你想要手贱的话:

wang:~$ kill 1
bash: kill: (1) - Operation not permitted
wang:~$ sudo kill 1
[sudo] password for wang:
wang is not in the sudoers file.  This incident will be reported.

哈哈哈……以后我们还会慢慢说那个PID为1的进程,systemd