网站自己备案,网站视频与服务器的关系,xss wordpress script,品牌网站建设仁術大蝌蚪kill命令的功能是杀死#xff08;结束#xff09;进程。Linux系统中如需结束某个进程#xff0c;既可以使用如service或systemctl这样的管理命令来结束服务#xff0c;也可以使用kill命令直接结束进程信息。 如使用kill命令后进程并没有结束#xff0c;则可以使用信号9进行…kill命令的功能是杀死结束进程。Linux系统中如需结束某个进程既可以使用如service或systemctl这样的管理命令来结束服务也可以使用kill命令直接结束进程信息。 如使用kill命令后进程并没有结束则可以使用信号9进行强制杀死动作。
一、语法格式
kill 参数 进程号
二、命令参数
-l 信号若果不加信号的编号参数则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号而不发送任何信号
-s 指定发送信号
-u 指定用户
三、信号参数
kill -l 查看所有的信号参数 只有第9种信号(SIGKILL)才可以无条件终止进程其他信号进程都有权利忽略。 下面是常用的前15个信号 1SIGHUP信号用于断开进程与父进程的连接这也可以用于重新启动进程这对于内存泄漏的守护程序很有用。终端断线
用途当控制终端通常是终端会话结束或挂起时发送。常用于通知守护进程daemon重新读取配置文件。
2SIGINT: 该信号与按CtrlC相同在某些系统上delete break会向进程发送相同的信号该进程被中断并停止但是该进程自身可以忽略此信号。
用途当用户按下中断键通常是CtrlC时发送。用于中断前台进程。
3SIGQUIT: 这类似于SIGINT但由于QUIT字符通常是由Ctrl\来控制进程在收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。 退出同 Ctrl \
用途与SIGINT类似但会产生核心转储core dump。常用于调试。
4SIGILL: 当一个进程执行一个错误的、禁止的或未知的功能时系统向该进程发送SIGILL信号这是代表非法操作的信号。
用途当进程执行了非法或未知的指令时发送。用于指示进程中的指令错误。
5SIGTRAP: 此信号用于调试目的当某个进程执行了某个操作或满足了调试器正在等待的条件时此信号将被发送到该进程。
用途常用于调试器当遇到断点breakpoint时暂停进程。
6SIGABRT: 该终止信号是中止信号,通常进程会在自身上发出此终止信号。
用途当程序调用abort()函数时发送。用于程序自我终止并可能产生核心转储。
7SIGBUS: 当一个进程被发送SIGBUS信号时是因为该进程导致了一个总线错误通常这些总线错误是由于进程试图使用假物理地址或进程的内存对齐设置不正确造成的。
用途模拟指令异常较少使用。
8SIGFPE: 被零除的进程使用SIGFPE终止。
用途当发生浮点错误如除以零时发送。用于指示浮点运算中的错误。
9SIGKILL: SIGKILL这是一个强制终止信号进程不能忽略它。当 SIGTERM 信号无效或需要立即终止进程时可以使用此信号。。强制终止
用途强制终止进程。该信号不能被进程忽略或捕获常用于强制结束无法响应的进程。
10SIGUSR1: 这表示用户定义的条件用户可以通过在sigusr1.c中编程命令来设置此信号。
用途当进程访问了无效的内存地址或发生了其他总线错误时发送。
11SIGSEGV: 当应用程序有分段冲突时这个信号被发送到进程。
用途当进程访问了无效的内存地址时发送也称为段错误。
SIGUSR2: 这表示用户定义的条件。
用途当进程执行了非法的系统调用时发送。
SIGPIPE: 当进程尝试写入缺少与读取器连接的一端的管道时此信号将发送到进程读取器是在管道末端读取数据的过程。
用途当进程向没有读者的管道写数据时发送。通常用于指示管道问题。
SIGALRM: 当实时或时钟计时器到期时将发送SIGALRM。通常用于实现定时器或超时功能。
用途定时器到期时发送。常用于实现定时器或超时功能。
SIGTERM这是 kill 命令的默认信号。它会请求进程优雅地终止允许进程在退出前执行清理操作。进程可以选择忽略这个信号但大多数进程会响应并正常退出。
用途请求进程终止。默认的信号进程可以捕获该信号并执行清理操作后退出。
四、注意
1、kill命令可以带信号号码选项也可以不带。如果没有信号号码kill命令就会发出终止信号(15)这个信号可以被进程捕获使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如
kill -2 123
它的效果等同于在前台运行PID为123的进程时按下CtrlC键。但是普通用户只能使用不带signal参数的kill命令或最多使用-9信号。
2、kill可以带有进程ID号作为参数。当用kill向这些进程发送信号时必须是这些进程的主人。如果试图撤销一个没有权限撤销的进程或撤销一个不存在的进程就会得到一个错误信息。
3、可以向多个进程发信号或终止它们。
4、当kill成功地发送了信号后shell会在屏幕上显示出进程的终止信息。有时这个信息不会马上显示只有当按下Enter键使shell的命令提示符再次出现时才会显示出来。
5、应注意信号使进程强行终止这常会带来一些副作用如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心只有在万不得已时才用kill信号(9)因为进程不能首先捕获它。要撤销所有的后台作业可以输入kill 0。因为有些在后台运行的命令会启动多个进程跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时使用kill 0来终止所有由当前shell启动的进程是个有效的方法。
五、实例
1得到指定信号的数值 kill -l KILL
9
2先用ps查找进程然后用kill杀掉 ps -ef | grep java
root 16934 1 0 Feb25 ? 00:18:13 java -jar demo.jar
//彻底杀死该进程 kill -9 16934
3强制杀死所有和java相关的所有进程 kill -9 $(ps -ef | grep java)
4强制杀死deploy用户起的进程 kill -u deploy
5init进程是不可杀的 kill -9 1