Linux下kill命令详解

本文详细介绍了Linux中的kill命令,包括其作用、用法、参数及常用信号。此外还提供了实例演示如何使用kill命令来管理和终止进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kill命令

作用:

        发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-kill" 参数,其发送的信号为SIGKILL(9),将强制结束进程,使用ps命令或者jobs命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。


用法:

       kill [-s signal | -p] [--] pid...

       kill -l [signal]


参数:

        -a: 当处理当前进程时,不限制命令名和进程号的对应关系;

        -l  [signal]: 若不加信号编号(signal),将列出目前kill能够使用的信号有(signal)有哪些;

        -p: 指定kill 命令只打印相关的进程号,而不发烧任何信号;

        -s: [信号名称或编号]: 指定要送出的信号

        -u: 指定用户

常用的信号:man 7 signal

         每个信号对应一个数字,信号名称以SIG开头(可省略

         1) SIGHUP: 无须关闭进程而让其重读配置文件(类似reload)

         2) SIGINT: 终止正在运行的进程;相当于Ctrl+c

         3) SIGQUIT: 相当于Ctrl+\

         9) SIGKILL: 强制杀死正在运行的进程

       15) SIGTERM: 终止正在运行的进程

       18) SIGCOUNT: 继续运行

       19) SIGSTOP: 后台休息

       

        指定信号的方法:

         a、信号的数字标识:1, 2, 9

         b、信号完整名称:SIGHUP

         c、信号的简写名称:HUP    


  范例:

         范例一:      找出当前的bash环境下的后台工作,并强制删除
[root@centos6 ~]# jobs
[1]+  Stopped                 ping 127.2
[root@centos6 ~]# kill --9 %1; jobs            # 此种写法信号编号前是双横线
-bash: kill: -9: invalid signal specification
[1]+  Killed                  ping 127.2

        范例二:  列出所有的信号编号(signal number)及对应的信号名称
[root@centos6 ~]# kill -l
 1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
 6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX    

        范例三: init进程是不可杀的

[root@centos6 ~]# ps -ef | grep init
root          1      0  0 Jul01 ?        00:00:02 /sbin/init
root       7752   7135  0 02:52 pts/2    00:00:00 grep --color=auto init
[root@centos6 ~]# kill -9 1
[root@centos6 ~]# kill -HUP 1
[root@centos6 ~]# ps -ef | grep init
root          1      0  0 Jul01 ?        00:00:02 /sbin/init
root       7756   7135  0 02:53 pts/2    00:00:00 grep --color=auto init


        备注:

                init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动

         程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所有,init始终是第一个进程(其进程编号始终为1)。其它所有进程都是init进程的子孙。    

         init进程是不可杀的。





### 关于 'cache-loader' 模块未找到的解决方案 当遇到 `Syntax Error: Error: Cannot find module 'cache-loader'` 错误时,通常是因为某些依赖项未能正确安装或存在版本兼容性问题。以下是针对该问题的具体分析和解决方法: #### 1. 删除现有依赖并重新安装 由于部分依赖可能未完全下载或配置失败,建议清理当前环境中的依赖文件,并重新执行安装操作。 - **删除旧依赖** 进入项目根目录,运行以下命令以移除现有的 `node_modules` 文件夹以及锁定文件: ```bash rm -rf node_modules package-lock.json ``` - **重新安装依赖** 使用以下命令重新拉取所有必要的模块: ```bash npm install ``` 此过程会依据 `package.json` 配置自动解析所需依赖关系[^3]。 #### 2. 处理高版本 Node.js 和 NPM 的兼容性问题 如果使用的 Node.js 或 NPM 版本较高,则可能会触发上游依赖冲突的情况。此时可以通过指定参数来忽略此类警告并强制完成安装流程。 - 执行带选项的安装指令: ```bash npm install --legacy-peer-deps ``` 上述命令能够有效规避因新策略引入而导致的部分历史遗留库无法匹配的问题[^4]。 #### 3. 明确目标加载器及其关联插件的状态 确认是否遗漏了其他间接影响到构建链路的关键组件(例如 `sass-loader`, `style-loader`)。对于特定场景下的样式表预处理工具缺失情况也需要同步关注[^1]。 通过上述措施基本可以消除由缓存机制引发的相关异常状况;当然,在实际开发过程中还应定期更新全局管理软件至最新稳定版次从而减少不必要的麻烦发生几率。 ```javascript // 示例代码片段展示如何验证已修复后的服务端渲染功能是否恢复正常工作状态。 const express = require('express'); const path = require('path'); let app = express(); app.use(express.static(path.join(__dirname, './dist'))); app.listen(8080,function(){ console.log("Server is running on port 8080..."); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值