http://www.cnblogs.com/winnxm/archive/2010/01/22/1654502.html
用于向任何进程组或进程发送信号。 #include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig); 参数:
pid:可能选择有以下四种
. pid大于零时,pid是信号欲送往的进程的标识。
. pid等于零时,信号将送往所有与调用kill()的那个进程属同一个使用组的进程。
. pid等于-1时,信号将送往所有调用进程有权给其发送信号的进程,除了进程1(init)。
. pid小于-1时,信号将送往以-pid为组标识的进程。
sig:准备发送的信号代码,假如其值为零则没有任何信号送出,但是系统会执行错误检查,通常会利用sig值为零来检验某个进程是否仍在执行。
返回值说明: 成功执行时,返回0。失败返回-,errno被设为以下的某个值 EINVAL:指定的信号码无效(参数 sig 不合法) EPERM;权限不够无法传送信号给指定进程 ESRCH:参数 pid 所指定的进程或进程组不存在
代码
#include <sys/wait.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h> int main( void )
{
pid_t childpid;
int status;
int retval; childpid = fork();
if ( - == childpid )
{
perror( "fork()" );
exit( EXIT_FAILURE );
}
else if ( == childpid )
{
puts( "In child process" );
sleep( );//让子进程睡眠,看看父进程的行为
exit(EXIT_SUCCESS);
}
else
{
if ( == (waitpid( childpid, &status, WNOHANG )))
{
retval = kill( childpid,SIGKILL ); if ( retval )
{
puts( "kill failed." );
perror( "kill" );
waitpid( childpid, &status, );
}
else
{
printf( "%d killed\n", childpid );
} }
} exit(EXIT_SUCCESS);
}
//-----------------
[root@localhost src]# gcc killer.c
[root@localhost src]# ./a.out
In child process
killed
在确信fork调用成功后,子进程睡眠100秒,然后退出。
同时父进程在子进程上调用waitpid函数,但使用了WNOHANG选项(WNOHANG如果没有任何已经结束的子进程则马上返回,不予以等待),
所以调用waitpid后立即返回。父进程接着杀死子进程,如果kill执行失败,
返回-,否这返回0。如果kill执行失败,父进程第二次调用waitpid,
保证他在子进程退出后再停止执行。否则父进程显示一条成功消息后退出。

Linux下Kill函数用法的更多相关文章

  1. Linux下 fcntl 函数用法说明

    功能描述:根据文件描述词来操作文件的特性. 文件控制函数         fcntl -- file control LIBRARY         Standard C Library (libc, ...

  2. 对于linux下system()函数的深度理解(整理)

    原谅: http://blog.sina.com.cn/s/blog_8043547601017qk0.html 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同 ...

  3. 转:对于linux下system()函数的深度理解(整理)

    这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为 ...

  4. 【C/C++】Linux下system()函数引发的错误

    http://my.oschina.net/renhc/blog/54582 [C/C++]Linux下system()函数引发的错误 恋恋美食  恋恋美食 发布时间: 2012/04/21 11:3 ...

  5. [转帖]Linux下fork函数及pthread函数的总结

    Linux下fork函数及pthread函数的总结 https://blog.csdn.net/wangdd_199326/article/details/76180514 fork Linux多进程 ...

  6. (笔记)Linux下system()函数的深度理解(整理)

    注:从其它地方转的非常好的一篇文章,值得深究! 这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数 ...

  7. [Android Memory] Linux下malloc函数和OOM Killer

    http://www.linuxidc.com/Linux/2010-09/28364.htm Linux下malloc函数主要用来在用户空间从heap申请内存,申请成功返回指向所分配内存的指针,申请 ...

  8. Linux下printf函数显示不同的颜色(转)

    Linux下printf函数显示不同的颜色 在学习Linux网络编程的时候做一个聊天系统,当时为了界面更漂亮点,于是搜索了下关于printf()函数的用法,给printf的输出加上些特效比如颜色,可以 ...

  9. linux select函数:Linux下select函数的使用详解【转】

    本文转载自;http://www.bkjia.com/article/28216.html Linux下select函数的使用 Linux下select函数的使用 一.Select 函数详细介绍 Se ...

随机推荐

  1. HDUOJ------2398Savings Account

    Savings Account Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  2. HDUOJ---(1995)汉诺塔V

    汉诺塔V Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. 马老师 linux必备web服务入门及高级进阶

    http://edu.51cto.com/course/course_id-866.html HTTP: HyperText Transfer Protocol 超文本传输协议 超链接: Web: h ...

  4. APP流氓大法之apk 静默安装

    老大要我弄个自动更新,要用到静默安装,网上找到了些大拿的代码,我拿去改吧改吧,先贴出来: /** * 软件静默安装 * @param apkAbsolutePath apk文件所在路径 * @retu ...

  5. PO_本地一揽子采购协议(流程)

    2014-06-04 Created By BaoXinjian

  6. AOV网与拓扑排序

    在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,我们称之为AOV网(Activity on Vextex Network).AOV网中的弧表示活动 ...

  7. Unix环境高级编程(十八)高级进程间通信

    本章主要介绍了基于STREAM的管道和UNIX域套接字,这些IPC可以在进程间传送打开文件描述符.服务进程可以使用它们的打开文件描述符与指定的名字相关联,客户进程可以使用这些名字与服务器进程通信. 1 ...

  8. CURL实现HTTP的GET POST方法

    Curl是Linux下一个非常强大的http命令行工具,其功能十分强大. 一.CURL对HTTP的常规訪问 1. 訪问站点 $ curl http://www.linuxidc.com 回车之后.ww ...

  9. Python min() 函数

    描述 min() 方法返回给定参数的最小值,参数可以为序列. 语法 以下是 min() 方法的语法: min( x, y, z, .... ) 参数 x -- 数值表达式. y -- 数值表达式. z ...

  10. PHP安装Redis扩展教程

    安装redis 下载软件包phpredis  https://github.com/nicolasff/phpredis uzip  master    #解压得到 phpredis-master c ...