导航:首页 > 编程系统 > linuxsigkill

linuxsigkill

发布时间:2023-03-10 12:24:49

『壹』 linux终止前台进程的命令

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

『贰』 Linux信号SIGTERM,SIGKILL,SIGINT和SIGQUIT的区别

SIGHUP 终止进程 终端线路挂断

SIGINT 终止进程 中断进程

SIGQUIT 建立CORE文件终止进程,并且生成core文件

SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件 跟踪自陷
SIGBUS 建立CORE文件 总线错误
SIGSEGV 建立CORE文件 段非法错误
SIGFPE 建立CORE文件 浮点异常
SIGIOT 建立CORE文件 执行I/O自陷
SIGKILL 终止进程 杀死进程
SIGPIPE 终止进程 向一个没有读进程的管道写数据
SIGALARM 终止进程 计时器到时
SIGTERM 终止进程 软件终止信号
SIGSTOP 停止进程 非终端来的停止信号
SIGTSTP 停止进程 终端来的停止信号
SIGCONT 忽略信号 继续执行一个停止的进程
SIGURG 忽略信号 I/O紧急信号
SIGIO 忽略信号 描述符上可以进行I/O
SIGCHLD 忽略信号 当子进程停止或退出时通知父进程
SIGTTOU 停止进程 后台进程写终端
SIGTTIN 停止进程 后台进程读终端
SIGXGPU 终止进程 CPU时限超时
SIGXFSZ 终止进程 文件长度过长
SIGWINCH 忽略信号 窗口大小发生变化
SIGPROF 终止进程 统计分布图用计时器到时
SIGUSR1 终止进程 用户定义信号1
SIGUSR2 终止进程 用户定义信号2
SIGVTALRM 终止进程 虚拟计时器到时

『叁』 Linux 进程对发送信号SIGKILL,如何进行函数处理

SIGKILL无法捕捉..因此无法对该信号使用信号处理函数....

只能debug了...看看到哪一步断的...不行就查看寄存器的值...揪出异常来...

『肆』 Linux下signal信号汇总

Linux下signal信号汇总
SIGHUP 1 /* Hangup (POSIX). / 终止进程 终端线路挂断
SIGINT 2 /
Interrupt (ANSI). / 终止进程 中断进程 Ctrl+C
SIGQUIT 3 /
Quit (POSIX). / 建立CORE文件终止进程,并且生成core文件 Ctrl+
SIGILL 4 /
Illegal instruction (ANSI). / 建立CORE文件,非法指令
SIGTRAP 5 /
Trace trap (POSIX). / 建立CORE文件,跟踪自陷
SIGABRT 6 /
Abort (ANSI). /
SIGIOT 6 /
IOT trap (4.2 BSD). / 建立CORE文件,执行I/O自陷
SIGBUS 7 /
BUS error (4.2 BSD). / 建立CORE文件,总线错误
SIGFPE 8 /
Floating-point exception (ANSI). / 建立CORE文件,浮点异常
SIGKILL 9 /
Kill, unblockable (POSIX). / 终止进程 杀死进程
SIGUSR1 10 /
User-defined signal 1 (POSIX). / 终止进程 用户定义信号1
SIGSEGV 11 /
Segmentation violation (ANSI). / 建立CORE文件,段非法错误
SIGUSR2 12 /
User-defined signal 2 (POSIX). / 终止进程 用户定义信号2
SIGPIPE 13 /
Broken pipe (POSIX). / 终止进程 向一个没有读进程的管道写数据
SIGALARM 14 /
Alarm clock (POSIX). / 终止进程 计时器到时
SIGTERM 15 /
Termination (ANSI). / 终止进程 软件终止信号
SIGSTKFLT 16 /
Stack fault. /
SIGCLD SIGCHLD /
Same as SIGCHLD (System V). /
SIGCHLD 17 /
Child status has changed (POSIX). / 忽略信号 当子进程停止或退出时通知父进程
SIGCONT 18 /
Continue (POSIX). / 忽略信号 继续执行一个停止的进程
SIGSTOP 19 /
Stop, unblockable (POSIX). / 停止进程 非终端来的停止信号
SIGTSTP 20 /
Keyboard stop (POSIX). / 停止进程 终端来的停止信号 Ctrl+Z
SIGTTIN 21 /
Background read from tty (POSIX). / 停止进程 后台进程读终端
SIGTTOU 22 /
Background write to tty (POSIX). / 停止进程 后台进程写终端
SIGURG 23 /
Urgent condition on socket (4.2 BSD). / 忽略信号 I/O紧急信号
SIGXCPU 24 /
CPU limit exceeded (4.2 BSD). / 终止进程 CPU时限超时
SIGXFSZ 25 /
File size limit exceeded (4.2 BSD). / 终止进程 文件长度过长
SIGVTALRM 26 /
Virtual alarm clock (4.2 BSD). / 终止进程 虚拟计时器到时
SIGPROF 27 /
Profiling alarm clock (4.2 BSD). / 终止进程 统计分布图用计时器到时
SIGWINCH 28 /
Window size change (4.3 BSD, Sun). / 忽略信号 窗口大小发生变化
SIGPOLL SIGIO /
Pollable event occurred (System V). /
SIGIO 29 /
I/O now possible (4.2 BSD). / 忽略信号 描述符上可以进行I/O
SIGPWR 30 /
Power failure restart (System V). /
SIGSYS 31 /
Bad system call. */
SIGUNUSED 31

有两个信号可以停止进程:SIGTERM和SIGKILL。 SIGTERM 比较友好,进程能捕捉这个信号,根据您的需要来关闭程序

在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号。

对于 SIGKILL 信号,进程是不能忽略的。这是一个 “我不管您在做什么,立刻停止”的信号。假如您发送SIGKILL信号给进程,Linux就将进程停止在那里。

sigaddset 将信号signo 加入到信号集合之中;
sigdelset 将信号从信号集合中删除;
sigemptyset 函数初始化信号集合set,将set 设置为空;
sigfillset 也初始化信号集合,只是将信号集合设置为所有信号的集合;

『伍』 Linux里面杀掉进程命令是什么

方法一: Terminal终端输入: gnome-system-monitor,就可以打开system monitor

如图:

然后找到相应进程,右击选择kill process就可以了

方法二: 通过kill 进程id的方式可以实现,

首先需要知道进程id, 例如,想要杀死firefox的进程,通过 ps -ef|grep firefox,可以查到firefox的进程id:

然后通过 kill 3781 就可以关闭进程了.

补充: 1. kill -9 来强制终止退出, 例如: kill -9 3781

2.特殊用法:

kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。

方法三: killall 通过程序的名字,来杀死进程

例如: killall firefox
注意: 该命令可以使用 -9 参数来强制杀死进程, killall -9 firefox

方法四: pkill 通过程序的名字, 直接杀死所有进程
例如: pkill firefox

方法五: 通过xkill 可以杀死图形程序应用, 例如firefox崩溃无响应,可以使用该命令.
例如: 用法xkill , 会出现一个白色的x, 然后用鼠标单击想要杀死的应用,如图

以下内容引用自: http://justcoding.iteye.com/blog/1931347

◆编者注:
KILLALL(Section: User (1)/Updated: 1999年9月7日)
———————————————–

NAME (名称)
killall – 以名字方式来杀死进程

SYNOPSIS (总览)
killall [-egiqvw] [-signal] name …
killall -l
killall -V

DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM.。
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定。
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关。
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程)。

OPTIONS (选项)
-e
对 于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息。
-g
杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程。
-i
交互方式,在杀死进程之前征求确认信息。
-l
列出所有已知的信号名。
-q
如果没有进程杀死, 不会提出抱怨。
-v
报告信号是否成功发送。
-V
显示版本信息。
-w
等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待。
FILES(相关文件)
/proc proc文件系统的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死。
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。
在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。

来源:http://www.ubuntuhome.com/ubuntu-kill-command.html

下面来了解相关命令:

一、查看进程的命令 有ps、pstree、pgrep等:

1、ps
显示进程信息,参数可省略
-aux 以BSD风格显示进程 常用
-efH 以System V风格显示进程
-e , -A 显示所有进程
a 显示终端上所有用户的进程
x 显示无终端进程
u 显示详细信息
f 树状显示
w 完整显示信息
l 显示长列表

在终端中执行ps aux,
各列输出字段的含义:

USER 进程所有者
PID 进程ID
PPID 父进程
%CPU CPU占用率
%MEM 内存占用率
NI 进程优先级。数值越大,占用CPU时间越少
VSZ 进程虚拟大小
RSS 页面文件占用
TTY 终端ID
STAT 进程状态
+---D 不可中断 Uninterruptible sleep (usually IO)
+---R 正在运行,或在队列中的进程
+---S 处于休眠状态
+---T 停止或被追踪
+---Z 僵尸进程
+---W 进入内存交换(从内核2.6开始无效)
+---X 死掉的进程

+---< 高优先级
+---N 低优先级
+---L 有些页被锁进内存
+---s 包含子进程
+---+ 位于后台的进程组;
+---l 多线程,克隆线程 multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

PID:进程标识符,系统为每一个进程分配一个识别码,称为PID。

ps命令极为常用,其他命令还有:

2.pstree
树状显示进程信息
-a 显示完整命令及参数
-c 重复进程分别显示
-c 显示进程ID PID
-n 按 PID 排列进程

3.pgrep <进程名>
显示进程的PID
-l 显示进程名和进程PID
-o 进程起始ID
-n 进程终止ID

二、结束进程的命令 有kill、pkill、killall、xkill等:

kill [信号代码] <进程PID>

根据PID向进程发送信号,常用来结束进程,默认信号为 -9
信号代码,可取值如下:
-l [信号数字] 显示、翻译信号代码
-9 , -KILL 发送 kill 信号退出
-6 , -ABRT 发送 abort 信号退出
-15 , -TERM 发送 Termination 信号
-1 , -HUP 挂起
-2 , -INT 从键盘中断,相当于 Ctrl+c
-3 , -QUIT 从键盘退出,相当于 Ctrl+d
-4 , -ILL 非法指令
-11 , -SEGV 内存错误
-13 , -PIPE 破坏管道
-14 , -ALRM
-STOP 停止进程,但不结束
-CONT 继续运行已停止的进程
-9 -1 结束当前用户的所有进程

pkill <进程名>
结束进程族。如果结束单个进程,请用 kill

killall <进程名>
killall和pkill 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

xkill
在图形界面中点杀进程。
当xkill运行时鼠标指针变为骷髅图案,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消。
比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。
xkill 调用方法:
[root@localhost ~]# xkill

来源: http://www.cnblogs.com/1024-wusuopuBUPT/archive/2012/02/16/2354132.html

linux中pkill的简单用法

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

必要参数
-f 显示完整程序
-l 显示源代码
-n 显示新程序
-o 显示旧程序
-v 与条件不符合的程序
-x 与条件符合的程序

选择参数
-p<进程号> 列出父进程为用户指定进程的进程信息
-t<终端> 指定终端下的所有程序
-u<用户> 指定用户的程序

应用方法:

#pkill 正在运行的程序名

举例:

Java代码
[root@localhost beinan]# pgrep -l gaim
2979 gaim
[root@localhost beinan]# pkill gaim

也就是说:

kill 对应的是 PID

pkill 对应的是COMMAND

例如在Ubuntu中强制结束一个已成僵尸的名称为:firefox,PID为:1603的进程,可以如下操作:

方法一:

(1)ctrl+alt+t,调出终端,输入 top,然后就可以看到现在系统的进程,是按占用资源从多到少排列的。

找到要关掉的进程,记下该进程第一列的数字编号(假设是xx),然后输入q,退回终端。

(2)输入:sudo kill xx(对应刚才的编号)。

方法二:

ctrl+alt+t,调出终端,输入:sudo pkill firefox

范例1: 杀死指定进程

Java代码
root@snail-hnlinux:~# ps -A //显示所有进程
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
……忽略部分
28382 ? 00:00:00 gvfsd-http
28391 ? 00:07:07 software-center
30467 ? 00:00:31 designer-qt4
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:17 gedit
31155 ? 00:00:00 dhclient
31325 ? 00:00:01 sshd
31327 ? 00:00:00 sshd
31400 pts/1 00:00:00 bash
31485 pts/2 00:00:00 bash
3 ? 00:00:00 aptd
31658 pts/1 00:00:00 ps
root@snail-hnlinux:~# pidof sshd //查看与sshd相关进程
31327 31325 2095
root@snail-hnlinux:~# pkill -9 sshd //杀死指定进程

范例2:杀死同义终端下的进程

Java代码
root@snail-hnlinux:~# pkill -t tty1 //杀死终端1下的所有进程

范例3: 杀死指定用户进程

Java代码
root@snail-hnlinux:~# pkill -u hnlinux

范例4:反向选择

Java代码
root@snail-hnlinux:~# pkill -vu hnlinux //杀死不属于hnlinux用户的所有进程

————————————————
版权声明:本文为CSDN博主「MrCoderr」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/coderder/article/details/78899823

『陆』 Linux常用命令

就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)看目录信息等等

常用参数搭配:

实例:

(changeDirectory),命令语法:cd [目录名]。说明:切换当前目录至dirName
实例:

查看当前工作目录路径
实例:

创建文件夹
实例:

删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用rm 来删除文件,通常仍可以将该文件恢复原状
rm [选项] 文件…

常用参数搭配:

实例:

删除空目录,一个目录被删除之前必须是空的。(注意,rm -r dir 命令可以代替rmdir,但是很危险,万一它突然就不是空的咧?),另外删除某目录时必须具有对父目录的写权限。

实例:
rmdir -p watch/avi删掉avi目录,watch目录就空掉了,那还看什么?所以干脆把watch目录一起删掉,眼不见为不净嘛。

mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。

命令功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

命令参数:

实例:

将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖!

命令参数:

实例:

cat主要有三大功能:

命令参数:

实例:

功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示

命令参数:

常用操作命令:

实例:

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

命令参数:

实例:

head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

常用参数:

实例:

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

常用参数:

实例:

用于改变linux系统文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用ls -l test.txt查找。
以文件log2012.log为例:
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。

常用参数:

权限范围:

权限代号:

实例:

tar命令是类Linux中比价常用的解压与压缩命令。

常用参数:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

下面的参数-f是必须的

常见解压/压缩命令

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。

常用参数:

实例:

显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示。

常用参数:

实例:

命令也是查看使用空间的,但是与df命令不同的是,能看到的文件只是一些当前存在的,没有被删除的,他计算的大小就是当前他认为存在的所有文件大小的累加和。命令是对文件和目录磁盘使用的空间的查看。

常用参数:

实例:

ln命令用于将一个文件创建链接,链接分为软链接和硬链接,命令默认使用硬链接。当在不同目录需要该文件时,就不需要为每一个目录创建同样的文件,通过ln创建的链接(link)减少磁盘占用量。

软链接:

硬链接:

需要注意:

常用参数:

实例:

显示或设定系统的日期与时间

命令参数:

实例:

可以用户显示公历(阳历)日历,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。

常用参数:

实例:

强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

命令格式:
grep [option] pattern file|dir

常用参数:

实例:

wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出。

命令格式:
wc [option] file..

命令参数:

实例:

ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top。

linux上进程有5种状态:

ps工具标识进程的5种状态码:

命令参数:

实例:

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等。

常用参数:

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

常用参数:

实例:

显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

命令参数:

实例:

Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的 Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使 netstat 成为网管和系统管理员的必备利器。

命令参数:

实例

阅读全文

与linuxsigkill相关的资料

热点内容
专题学习网站源码 浏览:163
jsphead什么 浏览:88
gps串口数据怎么发送 浏览:968
win10文件主页共享查看 浏览:411
中国联通有哪些app是免流的 浏览:176
边做边保存的文件找不到了 浏览:858
win10照片应用文件夹名称 浏览:966
编程如何解决资金的原子性 浏览:638
如何制作广角镜头矫正文件 浏览:513
在网页开发中应该选用哪个数据库 浏览:742
iphone5移动卡贴 浏览:990
电脑文件的格式 浏览:127
extjs的xtype 浏览:959
suse11iso文件要u盘安装 浏览:153
如何将报表统计数据转化为图形 浏览:444
如何寄快递材料文件 浏览:265
java构造方法private 浏览:475
手机文件找回恢复 浏览:516
word怎么把u盘里的文件拔掉 浏览:976
港版苹果用的插排 浏览:1000

友情链接