Kill Process in Linux or Terminate a Process in UNIX / Linux Systems

本文介绍了如何在Linux和Unix-like系统中使用kill命令来终止进程。包括如何查找进程ID(PID),发送不同信号来优雅地或强制性地终止进程,以及如何使用killall命令批量终止相同名称的进程。

Iam a new Linux system user. How do I kill process on Linux based server using command line options? How can I kill running process on Unix?

Linux and Unix-like operating system come with the kill command to terminates stalled or unwanted processes without having to log out or restart the server.

The kill command sends the specified signal such as kill process to the specified process or process groups. If no signal is specified, the TERM signal is sent. Please note that kill command can be internal as part of modern shells built-in function or external located at /bin/kill. Usage and syntax remain similar regardless internal or external kill command.

Tutorial details  
Difficulty Easy (rss)
Root privileges Yes
Requirements kill
Estimated completion time 10 minutes

A list of common Term singles

Linux and Unix-like operating system supports the standard terminate signals listed below:

  1. SIGHUP (1) - Hangup detected on controlling terminal or death of controlling process. Use SIGHUP to reload configuration files and open/close log files.
  2. SIGKILL (9) - Kill signal. Use SIGKILL as a last resort to kill process. This will not save data or cleaning kill the process.
  3. SIGTERM (15) - Termination signal. This is the default and safest way to kill process.

What is a PID?

A Linux or Unix process is running instance of a program. For example, Firefox is a running process if you are browsing the Internet. Each time you start Firefox browser, the system is automatically assigned a unique process identification number (PID). A PID is automatically assigned to each process when it is created on the system. To find out PID of firefox or httpd process use the following command:

 
pidof httpd
pidof apache2
pidof firefox
 

OR use the combination of and grep command:

 
ps aux | grep httpd
ps aux | grep apache2
ps aux | grep  firefox
 

Sample outputs:

Fig.01: Find the process ID (PID) of a running firefox program and apache2 server.

Fig.01: Find the process ID (PID) of a running firefox program and apache2 server.

kill command syntax

The syntax is:

 
kill [signal] PID
kill -15 PID
kill -9 PID
kill -SIGTERM PID
kill [options] -SIGTERM PID
 

What Linux or Unix permissions do I need to kill a process?

Rules are simple:

  1. You can kill all your own process.
  2. Only root user can kill system level process.
  3. Only root user can kill process started by other users.

kill command examples

In this example, I am going to kill lighttpd server.

Step #1: Find out the PID (process id)

Use the ps or pidof command to find out PID for any program. For example, if process name is lighttpd, you can use any one of the following command to obtain process ID:

 
pidof lighttpd
 

Sample outputs:

3486

OR

 
ps aux | grep lighttpd
 

Sample outputs:

lighttpd  3486  0.0  0.1   4248  1432 ?        S    Jul31   0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
lighttpd  3492  0.0  0.5  13752  3936 ?        Ss   Jul31   0:00 /usr/bin/php5-cg
Step #2: kill the process using a PID

The PID # 3486 is assigned to the lighttpd process. To kill the lighttpd server, you need to pass a PID as follows:
# kill 3486
OR
$ sudo kill 3486
This will terminate a process with a PID of 3486.

How do I verify that the process is gone / killed?

Use the ps or pidof command:
$ ps aux | grep lighttpd
$ pidof lighttpd

A note about sending stronger signal # 9 (SIGKILL)

If no signal specified in the kill command, signal # 15 (SIGTERM), is sent by default. So thekill 3486 command is same as the following command:
# kill -15 3486
# kill -SIGTERM 3486

OR
$ sudo kill -15 3486
$ sudo kill -SIGTERM 3486

Sometime signal # 15 is not sufficient. For example, lighttpd may not be killed by signal #15 due to open sockets. In that case process (PID) # 3486 would be killed with the powerful signal # 9:
# kill -9 3486
# kill -SIGKILL 3486

OR
$ sudo kill -9 3486
$ sudo kill -SIGKILL 3486

Where,

  • -9 or -SIGKILL - A special kill signal that nearly guarantee to kill the process with the iron fist.
How can I kill two or more PIDs?

The syntax is as follows to kill two or more PIDs as required can be used in a single command:

 
kill  pid1 pid2 pid3
kill -15  pid1 pid2 pid3
kill -9  pid1 pid2 pid3
kill  -9 3546 5557 4242
 

Say hello to killall command

This is a Linux only command. to kill processes by name. So no need to find the PIDs using the 'pidof process' or 'ps aux | grep process' command. Do not use killall command on Unix operating systems. This is a Linux specific command.

The syntax is

 
killall Process-Name-Here
 

To kill the lighttpd server, enter:
# killall -15 lighttpd
OR
# killall -9 lighttpd
To kill the Firefox web-browser process, enter:
# killall -9 firefox-bin

As I said earlier, the killall command on UNIX-like system does something else. It kills all process and not just specific process. Do not use killall on UNIX system.



http://www.cyberciti.biz/faq/kill-process-in-linux-or-terminate-a-process-in-unix-or-linux-systems/

【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文详细介绍了一种基于动态时间规整(DTW)距离与Kmeans聚类算法相结合的时间序列聚类分析模型,并提供了完整的Matlab代码实现。该模型通过引入DTW距离度量方式,有效解决了传统欧氏距离在处理长度不一或存在时间偏移的时间序列数据时的局限性,能够更准确地捕捉序列间的形状相似性。结合Kmeans算法,实现了对具有相似变化趋势的时间序列进行高效聚类,适用于电力负荷、气象数据、金融走势等领域中的模式识别与数据挖掘任务。文中系统阐述了算法原理、关键步骤、代码结构及参数设置,便于用户理解、复现与拓展应用。; 适合人群:具备一定Matlab编程基础,从事数据分析、信号处理、电力系统、自动化、气象预测、金融工程等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①对非等长时间序列或存在时间错位的数据进行聚类分析;②研究DTW与传统聚类算法融合的技术路径;③应用于负荷曲线分类、设备运行状态识别、金融市场走势划分、气候模式聚类、生物信号分析等实际科研与工程项目中的特征提取与数据降维任务。; 阅读建议:建议结合所提供的Matlab代码进行动手实践,重点理解DTW距离矩阵的构建过程以及Kmeans在非欧式空间中的迭代优化机制,可通过加载真实数据集验证模型性能,并尝试将其扩展至其他聚类算法(如层次聚类、谱聚类)以比较效果差异。
内容概要:本文详细介绍了“谐波含量闭环调控的光储VSG并网自适应虚拟谐波阻抗策略”的Simulink仿真实现方法,聚焦于光伏发电与储能系统结合虚拟同步发电机(VSG)并网的技术背景,提出了一种能够动态调节谐波阻抗的自适应控制策略,旨在提升并网电能质量与系统稳定性。研究深入剖析了谐波闭环调控机制与虚拟阻抗自适应调整算法的设计原理,并通过构建完整的Simulink仿真模型进行验证,展示了在不同运行工况下有效抑制谐波电流、优化并网性能的能力。该策略对于高比例新能源接入条件下电网谐波治理和系统稳定运行具有重要的理论价值与工程应用前景。; 适合人群:具备电力电子、新能源并网、自动控制等相关专业知识,从事电气工程、能源系统仿真与控制领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究光储系统并网过程中的谐波抑制与电能质量问题;②为VSG并网控制策略的优化设计提供可靠的仿真验证平台;③适用于新型电力系统中自适应控制算法开发与电能质量综合治理技术的研究; 阅读建议:建议结合Simulink仿真模型与技术文档同步学习,重点关注控制逻辑实现细节与关键参数整定方法,可进一步拓展至多机并联、弱电网等复杂场景下的适应性分析,需具备MATLAB/Simulink基本操作能力。
内容概要:本文系统阐述了基于多面体聚合方法(包括内近似模型与闵可夫斯基和)对大规模电动汽车群体的可调能力(即功率容量)进行量化评估的研究,并配套提供了完整的Matlab代码实现。该方法通过构建单辆电动汽车充放电行为的多面体灵活性模型,利用内近似策略降低计算复杂度,并通过闵可夫斯基和运算实现对海量个体灵活性集合的聚合,从而精确刻画电动汽车集群在不同时间尺度下的总体可控功率边界。研究重点在于平衡模型精度与计算效率,确保所提方法适用于实际电力系统中对电动汽车作为灵活资源的调度潜力分析,为电网侧的需求响应、辅助服务参与及新型电力系统规划提供理论支撑与实用工具。; 适合人群:电力系统、智能电网、电动汽车与电网互动(V2G)、可再生能源集成等领域的科研人员、高校研究生及工程技术人员,需具备良好的凸几何、集合论基础知识以及Matlab编程与数值计算能力。; 使用场景及目标:①评估大规模电动汽车集群在日内或日前尺度下的可调度功率范围,支撑电网公司制定削峰填谷、频率调节等调度策略;②为电力市场中的需求响应项目、辅助服务产品设计提供量化依据;③服务于城市级充电基础设施规划与主动配电网的灵活性提升研究,推动电动汽车从用电负荷向移动式储能资源的角色转变。; 阅读建议:建议读者深入研读内近似模型的数学推导过程,理解其在保证保守性前提下提升计算可行性的优势,并结合所提供的Matlab代码,动手实现从小规模算例到大规模场景的仿真验证,重点关注聚合后灵活性域的几何特征演变及算法性能随车辆数量增长的变化趋势。
内容概要:本文针对计及风电不确定性的电力系统黑启动与负荷恢复协同优化问题展开研究,提出了一种融合风电出力随机性与波动性的不确定性优化模型,并基于Matlab平台实现了算法仿真与验证。研究聚焦于电力系统在大面积停电后的恢复过程中,如何充分利用风电等可再生能源作为黑启动电源,科学规划机组启动顺序、黑启动路径以及关键负荷的恢复时序,从而提升系统恢复的效率、安全性与经济性。通过引入场景生成与削减技术处理风电不确定性,结合智能优化算法求解多阶段、多约束的协同优化问题,实现了对恢复过程的精细化决策支持。; 适合人群:具备电力系统分析、随机优化理论基础及Matlab编程能力的研究生、高校科研人员以及电力公司从事系统运行与应急管理的技术人员。; 使用场景及目标:①为含高比例新能源的新型电力系统制定黑启动预案提供理论依据与量化分析工具;②支撑极端灾害下电网恢复策略的仿真评估与优化设计;③深化对新能源参与系统恢复机理的理解,推动电力系统韧性能力的提升。; 阅读建议:建议读者结合Matlab代码深入理解模型构建、不确定性处理及算法求解全过程,重点关注场景概率建模、目标函数构建与多约束条件的处理方法,可进一步将该框架拓展应用于其他复杂电力系统恢复与优化问题的研究中。
内容概要:本文系统研究了基于W-GAN(Wasserstein生成对抗网络)的光伏出力场景生成方法,并提供了完整的Python代码实现。该方法利用深度学习技术,有效捕捉光伏发电功率时间序列中的复杂非线性特征与时序依赖关系,克服了传统参数化建模和随机抽样方法在处理高不确定性、强波动性数据时的局限性。通过引入Wasserstein距离与梯度惩罚机制,模型提升了训练稳定性与收敛性能,能够生成具有高度真实感和统计一致性的多样化光伏出力场景,充分反映光照强度、天气突变、季节变化等多种外部不确定性因素的影响。研究涵盖了模型架构设计、损失函数构建、训练流程优化及生成效果评估等关键环节,并结合实测光伏数据进行验证,展示了其在场景多样性、分布保真度和时间连续性方面的优越表现。; 适合人群:具备一定Python编程能力与机器学习理论基础,从事新能源发电预测、电力系统规划、不确定性建模、智能算法开发等相关领域的高校研究生、科研机构研究人员及电力行业工程技术人才。; 使用场景及目标:①为含高比例光伏接入的电力系统提供高质量的多场景输入,支撑随机优化调度、可靠性评估与风险防控;②作为先进的不确定性建模工具,服务于微电网、综合能源系统、储能配置与需求响应等场景下的多情景仿真与决策分析;③帮助研究者深入理解W-GAN在能源时序数据生成中的应用机理,掌握其网络结构设计、训练技巧与评价指标体系,推动其在风电、负荷等其他能源序列生成任务中的迁移与拓展。; 阅读建议:建议读者结合所提供的Python代码进行动手实践,重点理解生成器与判别器的网络结构设计、Wasserstein距离的实现方式以及梯度惩罚项的加入方法,同时可通过调整超参数、更换数据集等方式开展对比实验,进一步深化对模型特性的认识,并尝试将其应用于其他相关领域的时间序列生成问题中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值