2015-07-06 13 views
6

kullanarak işlemi sonlandırmak için Soru: sys_exec() kullanarak nasıl işlem yapılır?
Sys_exec() öğesini kullanarak kabuk komut dosyasını çalıştırmaya çalışıyorum. Ben o zaman oMYSQL: sys_exec()

killall process_name

komutu aramıyor, senaryo üzerinde yürütüldüğünde
benim kabuk komut dosyası

killall process_name 

içerir. `

Nasıl shellscript yukarıda yürütmek; Ama`

sys_exec (dokunmatik filename.txt) gibi diğer işlemleri yürütür?

+0

bu yardımcı olabilir olabilir .. http: // crazytechthough ts.blogspot.in/2011/12/call-external-program-from-mysql.html –

+0

Evet bunu zaten denedim ... ama o sırada mysql kullanarak herhangi bir işlemi öldürmeye çalıştığımda, bu işlemi öldürmez. .mysql'in süreci öldürme izninin olmadığı olabilir. bu izni nasıl değiştirebilirim? – Logicbomb

cevap

2

processlist INFORMATION_SCHEMA içindeki yerini MySQL 5.1 varsa, MySQL istemcisi içinden toplu olarak KILL QUERY komutları oluşturmak için bunu yapabilirsiniz:

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

Aşağıdaki bağlantıları kullanarak bir göz atmak isteyebilirsiniz

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

+0

Benim için değil. – Logicbomb

+0

Ne tür bir hata yapıyorsunuz? SELECT sys_exec dosyasını çalıştırdığımda ('touch /tmp/test.txt') – Abhinav

+0

; bu mysql'den sonra benim için çalışması ... ama ... SELECT'i çalıştırdığımda sys_exec ('sh /home/ketul/sig.sh'); Benim için çalışmaz ... sig.sh 'kill processname' içeriyor – Logicbomb