15 photoshop and kill (从新手到菜鸟的Linux教程)
标题只是中二病又犯了……其实是ps
和kill
这两个命令。
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
默认只列出在当前终端下,以相同用户运行的进程;但是并没有后台的任务,所以就只显示了bash
和ps
(这时候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
。