c语言 - 如何在 Raspberry Pi/Linux 上从控制台"control"和分离正在运行的程序?



给定以下C程序:

int main() {
do_something();
if (console_command_m_got) {
do_something_else_1();
}
if (console_command_q_got) {
exit();
}

return 0;
}

当我在终端中启动一个C程序时,它会在那里运行。我正在寻找一种从终端启动程序的方法,但将其从该终端分离。当我关闭控制台并在后台运行时,它不应该关闭,就像我把它放在自动启动中一样。

有没有可能通过在控制台中输入命令来更改正在运行的程序的控制流?我可以想象工作流程的一个小例子:

$ ./run_program         // Program starts and runs in background
$ ./run_program -m      // Modify the behaviour of the running program (if-statement above)
$ ./run_program -q      // Stop the running program

或者,我有一个完全错误的方法。

您签出screen了吗?它可以按照中的方式编写脚本https://unix.stackexchange.com/a/162150以分离模式运行,并在后台运行调用的脚本(可以运行您的程序(。然后,您可以使用screen -ls再次找到它,并使用screen -r name-of-screen重新附加到会话。

最新更新