Linux下Kill进程
查看docker 容器中进程的时候发现,有git clone的进程还在运行,当时终止了,但估计阻塞在那了。
kill进程的时候发现,没有kill掉,(对linux不太熟悉)回过头查了下,用-9强制kill掉了。
kill -9 pid
顺便查一下kill的相关资料。kill命令用于删除执行中的程序或工作,当执行kill命令的时候,实际商是发送了一个信号给系统,让它区终结不正常的应用。
kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
其中 -n 指的就是信号编号,总共有60个信号可以使用,常用的只有9(SIGKILL)和15(SIGTERM)。可以用以下命令查看所有信号列表:
kill -l
-9(SIGKILL):强制进程立刻停止运行,信号无法捕获或忽略(can’t be caught or ignored)
kill -9 pid
-15 (SIGTERM):请求一个进程停止运行,信号可以被忽略或阻塞。进程可以用一段时间来正常关闭,默认信号。
kill pid
来正常关闭,默认信号。
kill pid
同时也要注意,强制kill掉进程也会有缺陷,如数据丢失等。