日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下Kill函数用法

發(fā)布時間:2023/11/30 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下Kill函数用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

[ KILL ]功能描述:
用于向任何進(jìn)程組或進(jìn)程發(fā)送信號。

頭文件用法:

1??#include??<?sys?/?types.h?>
2?
3??#include??<?signal.h?>
4?
5??int??kill(pid_t?pid,??int??sig);
6?
7?

?

參數(shù):
pid:可能選擇有以下四種

1. pid大于零時,pid是信號欲送往的進(jìn)程的標(biāo)識。
2. pid等于零時,信號將送往所有與調(diào)用kill()的那個進(jìn)程屬同一個使用組的進(jìn)程。
3. pid等于-1時,信號將送往所有調(diào)用進(jìn)程有權(quán)給其發(fā)送信號的進(jìn)程,除了進(jìn)程1(init)。
4. pid小于-1時,信號將送往以-pid為組標(biāo)識的進(jìn)程。

sig:準(zhǔn)備發(fā)送的信號代碼,假如其值為零則沒有任何信號送出,但是系統(tǒng)會執(zhí)行錯誤檢查,通常會利用sig值為零來檢驗?zāi)硞€進(jìn)程是否仍在執(zhí)行。

返回值說明: 成功執(zhí)行時,返回0。失敗返回-1,errno被設(shè)為以下的某個值 EINVAL:指定的信號碼無效(參數(shù) sig 不合法) EPERM;權(quán)限不夠無法傳送信號給指定進(jìn)程 ESRCH:參數(shù) pid 所指定的進(jìn)程或進(jìn)程組不存在

#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 ( - 1 == childpid ){perror( " fork() " );exit( EXIT_FAILURE );}else if ( 0 == childpid ){puts( " In child process " );sleep( 100 ); // 讓子進(jìn)程睡眠,看看父進(jìn)程的行為exit(EXIT_SUCCESS);}else{if ( 0 == (waitpid( childpid, & status, WNOHANG ))){retval = kill( childpid,SIGKILL );if ( retval ){puts( " kill failed. " );perror( " kill " );waitpid( childpid, & status, 0 );}else{printf( " %d killed\n " , childpid );}}}exit(EXIT_SUCCESS); }


[root@localhost?src]#?gcc?killer.c
[root@localhost?src]#?.?/?a.?out
In?child?process
4545??killed

在確信fork調(diào)用成功后,子進(jìn)程睡眠100秒,然后退出。
同時父進(jìn)程在子進(jìn)程上調(diào)用waitpid函數(shù),但使用了WNOHANG選項,
所以調(diào)用waitpid后立即返回。父進(jìn)程接著殺死子進(jìn)程,如果kill執(zhí)行失敗,
返回-1,否這返回0。如果kill執(zhí)行失敗,父進(jìn)程第二次調(diào)用waitpid,
保證他在子進(jìn)程退出后再停止執(zhí)行。否則父進(jìn)程顯示一條成功消息后退出。

原文地址:

https://blog.csdn.net/diegui9005/article/details/101895441?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的Linux下Kill函数用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。