2017-04-24 156 views
1

在下面的程序中,我使用了系統庫函數來執行「pkill」命令。是否有任何系統調用可用於pkill(因爲PID未知)。我不想使用「系統」庫函數。請讓我知道如何去做如何在不使用「system()庫函數」的情況下在c程序中調用pkill

#include <stdio.h> 
int main() 
{ 
     char test[1024] = "pkill -15 radio"; 
     system(test); 
     return 0; 
} 
+0

沒有這樣的系統調用。但是,「/ proc」文件系統包含有關所有正在運行的進程的信息。你可以編寫一個程序,通過所有「/ proc/***/status」文件(其中「***」是PID),檢查「Name」行並殺死所有匹配的進程。 – DyZ

回答

0

發送信號到進程的系統調用是kill;但是,您需要進程ID。如果您打算從您的應用程序中啓動程序,請使用fork以及exec-functions之一,您就可以擁有它。否則,您很可能必須重複遍歷/proc/*子目錄。

相關問題