Завершение процессов порожденных скриптом, запущенным через QProcess
Если из консоли запустить скрипт, например:
#!/bin/sh
#launch_script
some_app_with_eventloop
killall some_app_with_eventloop
то при закрытии окна терминала или нажатии Ctrl+C в процессе выполнения, some_app_with_eventloop будет завершена.
Я пытаюсь добиться такого же поведения при запуске подобного скрипта через QProcess.
void onstart()
{
m_process = new QProcess();
m_process->setProgram(launch_script);
m_process->start()
}
void onstop()
{
m_process->write("^C");
m_process->write("exit");
m_process->waitForBytesWritten();
m_process->terminate();
QTimer::singleshot(1000, m_process, QProcess::deleteLater);
}
Но процесс sh все время завершается, оставив some_app_with_eventloop работающей.
Как добиться такой же реакции, как нажатие Ctrl+C или закрытие окна терминала?