/etc/init.d/
私のスクリプトにはアプリケーションを実行するスクリプトがあります。サービスを開始、停止し、端末からサービスの状態を取得できます。今私のプログラムでC++
同じサービスを開始したいと思います。system()
この目的で使用する以外に他の方法はありますか?
ありがとうございます..
答え1
fork()
以下を使用してこれを行うことができます。exec()
pid_t pid = fork();
if (pid == 0) { // child process
execl("/etc/init.d/servicename", "/etc/init.d/servicename", "start", (char*) 0);
perror("execl"); // only get here when exec fails
exit(0);
} else if (pid > 0) { // parent process
wait(NULL); // wait for child to finish
} else { // error
perror("fork");
}