2017-04-24 17 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が必要です。あなたのアプリケーション内で殺されるプログラムを起動するつもりなら、forkexec-functionsのうちの1つを一緒に使ってください。それ以外の場合は、サブディレクトリ/proc/*を反復処理する必要があります。

関連する問題