reparent指定程序到當前程序

2021-08-23 11:56:56 字數 607 閱讀 2387

作者****:李先靜

今 天遇到乙個問題,需要監視某個應用程式的退出事件,並得到它的退出碼。waitpid只能監視子程序,對其它程序沒有效果,怎麼才能reparent乙個 程序呢?我在核心裡找了半天也沒有找到相應的系統呼叫,後來想到偵錯程式都可以,那一定有辦法。偵錯程式是用ptrace實現的,我試了一下,發現其實很簡 單。做了些測試,也沒有發現效能上的損失,我想這種方法應試是可行的。發出來給有類似需要的朋友參考吧:

#include 

#include

#include

#include

int reparent_process(int pid)

return ret;

}int main(int argc, char* argv)

pid = atoi(argv[1]);

reparent_process(pid);

ret = waitpid(pid, &status, 0);

printf("%s:%d pid=%d ret=%d status=%x/n", __func__, __line__, pid, ret, status);

return 0;

}

reparent指定程序到當前程序

作者 李先靜 今 天遇到乙個問題,需要監視某個應用程式的退出事件,並得到它的退出碼。waitpid只能監視子程序,對其它程序沒有效果,怎麼才能reparent乙個 程序呢?我在核心裡找了半天也沒有找到相應的系統呼叫,後來想到偵錯程式都可以,那一定有辦法。偵錯程式是用ptrace實現的,我試了一下,發...

git 合併指定檔案到當前分支

前言,最近接到領導通知,說要將上一周完成的功能 合併到另外乙個分支上。然後我就切換目標分支,發現 的提交記錄已經滯後了很多,又不能將 全部合併過來,就只能研究如何將部分 合併過來。話不多說,擼起袖子加油幹 git checkout 目標分支 git checkout patch 檔案所在分支 檔案物...

linux繫結程序到指定cpu

方法之一 top p pidof 程序名稱 方法之二 top p ps h o pid c 程序名稱 如果還要檢視此程序下的各執行緒,可用如下 top h p pidof process 我是分割線 top實時顯示程序在那個cpu上 1 top 2 按 1 實時顯示cpu資訊 3 按 f 進入顯示配...