linux 杀死脚本,linux – 如何在Bash脚本被杀死时杀死当前命令
生活随笔
收集整理的這篇文章主要介紹了
linux 杀死脚本,linux – 如何在Bash脚本被杀死时杀死当前命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我能夠在評論中測試我發(fā)布的prctl想法,它似乎有效.你需要編譯這個:
#include "sys/prctl.h"
#include "stdlib.h"
#include "string.h"
#include "unistd.h"
int main(int argc,char ** argv){
prctl(PR_SET_PDEATHSIG,atoi(argv[1]),0);
char * argv0 = strdup(argv[2]);
char * slashptr = strrchr(argv0,'/');
if(slashptr){
argv0 = slashptr + 1;
}
return execvp(argv0,&(argv[2]));
}
假設您已將上述內容編譯為名為“prun”的可執(zhí)行文件,它位于您的路徑中.假設您的腳本名為“foo.sh”,它也在您的路徑中.制作一個調用的包裝腳本
prun 15 foo.sh
當包裝器腳本因任何原因終止時,foo.sh應該得到SIGTERM,甚至是SIGKILL.
注意:這是一個僅限Linux的解決方案,所提供的c源代碼沒有詳細檢查參數
總結
以上是生活随笔為你收集整理的linux 杀死脚本,linux – 如何在Bash脚本被杀死时杀死当前命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux cat 进程,Linux下C
- 下一篇: linux系统的ftp命令大全,linu