Я использую Mono в системе Linux для запуска процесса. Случайно родительский процесс умирает безвременной кончиной и берет с собой детский процесс, но мне нужно продолжать процесс ребенка.
При тестировании каждый вариатор System.Diagnostics.Process.Start(), который я тестировал, заставит его дочерний процесс умереть, когда я убью родительский процесс. Есть ли какие-то настройки, которые мне не хватает, или еще один способ добиться этого? В качестве теста, это:
Как сделать вызов MONO() для запуска процесса, который не умирает, когда он умирает?
System.Diagnostics.Process.Start(new ProcessStartInfo("journalctl", "-f") {UseShellExecute = true});
это:
System.Diagnostics.Process.Start(new ProcessStartInfo("journalctl", "-f") {UseShellExecute = false});
и это:
System.Diagnostics.Process.Start("journalctl", "-f");
запустит 'journalctl' ('пс -aef' указывает правильные идентификаторы родителя-ребенка), и когда я убью родительский процесс , 'journalctl' также умирает.
Должен ли я запускать скрипт, который использует nohup и отключает дочерний процесс?