У меня есть программа, которая принимает аргумент с именем start-master
. Когда он пройден, мне нужно запустить демон, прослушивающий порт.
У меня есть функция:
fn startMaster() {
// Sockets, connections, logic, etc
}
Могу ли я создать новый процесс, который выполняет startMaster
в фоновом режимечтобы пользователь мог звонить ./mainprogram start-master
без использования bash's &
?
Процесс должен быть независимым от основного процесса, так как он не должен останавливаться после завершения процесса вызывающего. Мне нужно неблокирующее решение.
Моя основная программа будет:
fn main() {
let args: Vec<String> = env::args().collect();
let arg1 = &args[1];
// ...
match arg1.as_ref() {
"start-master" => {
// Starts process in background which executes startMaster function
}
_ => println!("Not valid argument")
}
// Ends program but now there is an active daemon
}