使用 C++ shell() 获取 PID?
Getting PID With C++ shell()?
我正在开发一个 C++ 游戏,我想在开始时播放音乐。到目前为止,这是我的代码示例:
int main() {
// Gets user's name
system("clear");
system("afplay ~/music.mp3 &>/dev/null &");
string name;
cout << "###################\n";
cout << "# Enter your name #\n";
cout << "###################\n";
cin >> name;
// Greets user
system("clear");
cout << "So, your name is " << name << "?\n";
system("sleep 1.5");
cout << "Greetings, and welcome to the world of NULL!\n\n";
system("kill $!");
return 0;
}
但是,kill $!
并未 kill
播放或停止播放 afplay
音乐。我认为这是因为 system("afplay ~/music.mp3 &>/dev/null &");
没有将 PID 输出到 $!
.
我怎样才能 kill
afplay
或者至少得到它的 PID 以便我可以 kill
它?
我正在 Mac 并且我是 C++ 的新手...
警告:这是一种不好的做法;它可能会杀死重要进程并杀死所有进程,因此它可能会停止用户正在使用的任务!
Apple 的手册页说您可以调用
killall afplay
http://osxdaily.com/2010/12/07/command-line-mp3-player-in-mac-os-x/
我正在开发一个 C++ 游戏,我想在开始时播放音乐。到目前为止,这是我的代码示例:
int main() {
// Gets user's name
system("clear");
system("afplay ~/music.mp3 &>/dev/null &");
string name;
cout << "###################\n";
cout << "# Enter your name #\n";
cout << "###################\n";
cin >> name;
// Greets user
system("clear");
cout << "So, your name is " << name << "?\n";
system("sleep 1.5");
cout << "Greetings, and welcome to the world of NULL!\n\n";
system("kill $!");
return 0;
}
但是,kill $!
并未 kill
播放或停止播放 afplay
音乐。我认为这是因为 system("afplay ~/music.mp3 &>/dev/null &");
没有将 PID 输出到 $!
.
我怎样才能 kill
afplay
或者至少得到它的 PID 以便我可以 kill
它?
我正在 Mac 并且我是 C++ 的新手...
警告:这是一种不好的做法;它可能会杀死重要进程并杀死所有进程,因此它可能会停止用户正在使用的任务!
Apple 的手册页说您可以调用
killall afplay
http://osxdaily.com/2010/12/07/command-line-mp3-player-in-mac-os-x/