我尝试在后台模式和前台模式下运行程序。
在后台模式下,它无法运行。
但在前台模式下,它成功了。
那么背景和前景模式之间有什么区别可能会导致这个问题呢?
答案 0 :(得分:2)
前台进程可以访问终端(标准输入和输出)。
您可以尝试通过在命令行中添加<> /dev/null
来解决问题。这将告诉程序不要使用stdin。一旦你不再给他们一个终端,一些程序就会把它变成一种“行为”。
另一个解决方案是nohup
程序基本相同,加上更多的东西。
答案 1 :(得分:1)
后台进程通常在很少或没有用户交互的情况下运行,而是与系统交互。 Forground进程是用户与之交互的进程。除非明确运行,否则后台进程将以非管理员权限运行。如果您在用户上下文中运行它,那么它可能有权执行应用程序所做的任何操作。