Linux 结束进程

Posted 庖丁解牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 结束进程相关的知识,希望对你有一定的参考价值。

一个进程由于以下5个原因中的一个终止
--main函数调用return;
--调用exit函数;
--调用_exit函数
--调用abort函数
--被一个信号终止。(kill函数)
前三个原因都是正常终止,后面两个是非正常终止。
无论进程为何终止,最后都执行相同的内核代码代码,关闭打开的文件,释放内存资源,和其他清理工作。

 

exit函数
int exit(int status);
exit导致程序正常终止,并且返回给父进程的状态(status)
exit的参数便是返回给父进程的状态码
在main函数中调用return和exit效果类似,但是在子函数中,return是退出当前函数,exit却是退出当前进程

 

abort函数
void abort(void);
abort导致程序异常终止
abort还可以让程序产生core,这是大多数调试器用户分析程序崩溃时的文件。
虽然任何打开的文件都被关闭了,但是abort仍然是个粗暴的调用,应该作为最后的手段来使用。
比如当你遇到一个很严重内存不足这样的错误,无法用程序的方式处理时再使用。

 

kill函数
int kill(pid_t pid,int sig);
exit,abort用来杀死进程自己。
kill函数用来杀死另一个进程。
参数pid指定一个要杀死的进程,而sig是要发送的新号,本章内容是杀死一个进程,所以只需要关注SIGKILL一个信号。
例如:kill(2056,SIGKILL);

 

以上是关于Linux 结束进程的主要内容,如果未能解决你的问题,请参考以下文章

linux下进程结束时如何得到通知?

linux下如何用C代码执行一个cmd命令,然后可以控制该命令的结束

linux命令行怎么结束进程

linux c 退出进程的代码

linux c 退出进程的代码

Linux 下如何结束指定进程