Можно средствами Qt- void QPricess::kill() [slot]. Вот пример:
#include <QtGui>
#include <QProcess>
int main(int argc, char **argv){
QApplication app(argc, argv);
QPushButton *button = new QPushButton("kill process while_1");
button->show();
QProcess *process = new QProcess;
process->start(QString("/home/mike/process_qt/while_1")); // полный путь
QObject::connect(button, SIGNAL(clicked()), process, SLOT(kill()));
return app.exec();
}
Соберите проект. А также откомпилируйте программку while_1.c(беконечный цикл): gcc while_1.c -o while_1
int main() {
while (1) { }
}
Запустите основную программу, появится кнопка, откройте другой терминал и в Linux: ps -e
Там будет процесс while_1. Нажмите кнопку, опять ps -e - его уже не будет.