Я новичок в Swift, поэтому, чтобы узнать, что я пытаюсь создать ключ командной строки, в коде я запускаю сервер узлов, используя Process
. Проблема здесь в том, что когда я выхожу из программы, процесс узла все еще выполняется, и я хочу завершить его всякий раз, когда я выхожу из программы или когда я собираюсь выйти из программы.
import Foundation
let port = "3030"
let process = Process.launchedProcess(launchPath: "/usr/local/bin/node", arguments: ["/path/to/file/index.js"])
print(process.processIdentifier)
Я узнал, как получить PID процесса, но я не знаю, как его убить при выходе или когда я собираюсь выйти.
Редактировать
process.terminate()
работает, но я хочу, чтобы программа продолжала работать до тех пор, пока она не будет уничтожена вручную (ctrl + c
), убив тем самым процесс узла. Я могу сохранить работоспособность программы, используя waitUntilExit()
, однако, использование terminate()
не будет работать, если я использую waitUntilExit()
.