在linux中启动时运行应用程序

时间:2017-09-25 08:44:53

标签: linux process startup

我正在制作Linux应用程序。此应用程序将客户端的文件和文件夹与云同步。 主页目录中有一个文件夹,其中将同步来自云的所有文件。我希望应用程序应该在后台启动 启动后并自动在后台运行。 我该怎么办?

2 个答案:

答案 0 :(得分:2)

如果您有systemd,则可以创建here所示的服务。

否则你必须使用init

答案 1 :(得分:-1)

如果您拥有的是基本上是单用户的系统,则可以使用init / systemd作为指定的非特权用户启动后台进程。但是,这并不是这些技术的常用方法。

在多用户图形系统中,您可能希望在用户的桌面会话启动时启动与用户相关的后台进程。不仅这(通常)是这种操作的正确时机,它还允许支持多个用户。

可用于Linux的各种图形桌面都提供了稍微不同的方式来在登录时运行用户应用程序。找到一种适用于所有桌面的方法可能是不可能的。对于完全覆盖,您可能需要实现一些能够检测正在使用的桌面的内容,并使用适合该桌面的方法。

但是,许多桌面都尊重$HOME/.config/autostart/的使用。该目录中的文件应具有.desktop扩展名,并且与应用程序启动器的格式相同。例如:

[Desktop Entry]
Name=MyThingie
GenericName=foo
Comment=foo
Exec=/path/to/my/executable
Terminal=false
Type=Application
Icon=foo
Categories=Network;FileTransfer;
StartupNotify=false