2015-07-06 55 views
6

問題:如何使用sys_exec()殺死進程。
我想使用sys_exec()來執行shell腳本。
我Shell腳本包含MYSQL:殺死進程使用sys_exec()

killall process_name 

當我執行上面的腳本,當時他並沒有叫

killall process_name

命令。但它執行像`

sys_exec(觸摸FILENAME.TXT)等操作;`

如何執行上面的shell?

+0

可能是這可以幫助.. HTTP:// crazytechthough ts.blogspot.in/2011/12/call-external-program-from-mysql.html –

+0

是的阿米特我已經嘗試過......但是當我試圖殺死當時使用MySQL的任何進程它不是殺死進程。 .so可能是mysql沒有權限殺死進程..所以我怎麼能改變這個權限任何想法? – Logicbomb

回答

2

如果你有MySQL 5.1其中PROCESSLIST是在INFORMATION_SCHEMA,你可以做到這一點從MySQL客戶端內產生大量的KILL QUERY命令:

SELECT GROUP_CONCAT(CONCAT('KILL QUERY ',id,';') SEPARATOR ' ') KillQuery 
FROM information_schema.processlist WHERE user<>'system user'\G 

你可能想看一看這些鏈接

http://dbadiaries.com/how-to-kill-all-mysql-processes-for-a-specific-user https://dba.stackexchange.com/questions/2634/kill-all-queries-mysql

+0

它不適合我。 – Logicbomb

+0

你有什麼錯誤? – Abhinav

+0

當我執行SELECT sys_exec('touch /tmp/test.txt');這從MySQL然後它的工作對我...但是...當我執行SELECT sys_exec('sh /home/ketul/sig.sh');它不適合我... sig.sh包含'kill processname' – Logicbomb