在fedora启动时自动启动用户(不是root用户)进程

我有一个在Fedora OS下运行的虚拟机。 该虚拟机有四个用户可以说(A,B,C,D)。 该VM有一个进程在每个用户下运行。 所以当这个虚拟机重新启动时,我该怎么做,以便这些进程自动启动在各自的用户。

只要

a是在A用户下启动进程的自定义命令

b是在B用户下启动进程的自定义命令

c是在C用户下启动进程的自定义命令

d是在D用户下启动进程的自定义命令

a,b,c,d是root用户不可用的命令。 他们只适用于各自的用户。

谢谢

为这些进程创build一个单独的Systemd初始化脚本。 对于进程A,创build文件/etc/systemd/system/A.service并添加如下内容:

 [Unit] Description=Process A After=network.target [Service] User=userA Type=forking ExecStart=/some/command/to/run --arg1 --arg2 Restart=on-failure StartLimitInterval=5min StartLimitBurst=4 [Install] WantedBy=multi-user.target 

自定义这个你喜欢(重新启动,StartLimitInterval,StartLimitBurst,等等…)

然后启用它

 systemctl enable A.service 

并开始

 systemctl start A.service 

你可以使用/ etc / crontab和@reboot时间吗? / etc / crontab的格式在时间指定后采用用户名,并且该进程以该用户身份运行。

 @reboot A /path/to/a @reboot B /path/tob 

等等。