我正在用Qt为Windows编写桌面应用程序。我有3个进程的名称,如果它们正在运行,我想在我的应用程序开始时杀死它们。最好的方法是什么?(通过使用进程名称获取进程的状态,如果它是打开的,则将其杀死)。代码示例对我有很大帮助。谢谢! 最佳答案 您可以为此目的使用Qprocess。在你的应用程序开始时,做Qprocessp;p.start("pkillprocessname1");p.waitForFinished();p.start("pkillprocessname2");p.waitForFinished();p.start(
基本debian:wheezydocker镜像中没有pkill/pgrep#dockerrundebian:wheezypkillSystemerror:exec:"pkill":executablefilenotfoundin$PATH我不知道应该安装哪个软件包才能拥有这些工具#dockerrundebian:wheezycat/etc/apt/sources.listdebhttp://httpredir.debian.org/debianwheezymaindebhttp://httpredir.debian.org/debianwheezy-updatesmaindebhttp
基本debian:wheezydocker镜像中没有pkill/pgrep#dockerrundebian:wheezypkillSystemerror:exec:"pkill":executablefilenotfoundin$PATH我不知道应该安装哪个软件包才能拥有这些工具#dockerrundebian:wheezycat/etc/apt/sources.listdebhttp://httpredir.debian.org/debianwheezymaindebhttp://httpredir.debian.org/debianwheezy-updatesmaindebhttp
我目前正在使用脚本调用pkill来终止我的C++程序。但是我注意到在使用pkill时没有从我的跟踪中调用析构函数。还有什么好的方法可以优雅的退出程序吗?pkill看起来有点乱,缓冲区中的一些日志没有被记录下来。我希望能够刷新我的fstream并以编程方式关闭所有资源(而不是依赖O/S来清理我的烂摊子)。应用程序全天候运行24/7没有任何问题,我唯一想停止它的时间是在维护期间。该应用程序没有任何用户界面供我键入退出。 最佳答案 您可以通过为SIGTERM定义信号处理程序来实现按照这些思路:includeblock中的某处:#inclu
我正在为启动服务脚本编写停止例程:do_stop(){rm-f$PIDFILEpkill-f$DAEMON||return1return0}问题是pkill(与killall相同)也匹配代表脚本本身的进程,它基本上会自行终止。如何解决? 最佳答案 您可以从结果中显式过滤掉当前的PID:kill$(pgrep-f$DAEMON|grep-v^$$\$)要正确使用-f标志,请务必提供守护进程的整个路径,而不仅仅是一个子字符串。这将防止您终止脚本(并消除对上述grep的需要),也防止终止碰巧共享守护程序名称的所有其他系统进程。