linux下Qt關閉第三方程式

2021-08-21 09:04:25 字數 789 閱讀 3588

最近在開發過程中,需要通過qt來開啟和關閉第三方應用,使用qprocess類返回的pid和使用top命令檢視到的程序id不一樣,不知道是不是用錯了類方法。後來在網上查到可以用pkill來關閉程序。

以下是來自對pkill的描述:

pkill命令可以按照程序名殺死程序。pkill和killall

應用方法差不多,也是直接殺死執行中的程式;如果您想殺掉單個程序,請用kill

來殺掉。

pkill(選項)(引數)
-o:僅向找到的最小(起始)程序號傳送訊號;

-n:僅向找到的最大(結束)程序號傳送訊號;

-p:指定父程序號傳送訊號;

-g:指定程序組;

-t:指定開啟程序的終端。

程序名稱:指定要查詢的程序名稱,同時也支援類似grep

指令中的匹配模式。

pgrep

-l gaim

2979 gaim

pkill gaim

也就是說:kill對應的是pid,pkill對應的是command

。綜上,在使用qt時,可以使用qprocess類中的啟動程序函式來呼叫這個命令。

qprocess::execute("pkill omxplayer")

; 或者qprocess::start("pkill omxplayer");執行pkill來關掉omxplayer這個程序。

qprocess::start()和qprocess::execute()都能完成啟動外部程式的任務,但是區別很大,start()是非阻塞的,而execute()是阻塞的。

Qt中使用QProcess呼叫第三方程式

在qt中呼叫第三方程式通常使用qprocess進行呼叫,以下描述qprocess常用的介面。1.qprocess startdetached qprocess startdetached const qstring program,const qstringlist arguments,const ...

第三方程式呼叫django的models

一下來自pythoncn的maillist 今天折騰了一上午,終於可以在外部的wx裡面呼叫django的models了。但是,突然發現我好好的中文介面一下變成英文了。後來檢查了一下發現原來是 os.environ django settings module website.settings add...

C 呼叫第三方程式,傳送訊息

背景 啟動第三方登入程式,並補全賬號和密碼訊息 工具 spy 獲取第三方登入窗體的控制代碼 標題等 引用api dllimport user32.dll entrypoint findwindow public extern static intptr findwindow string lpcla...