我制作了一个startup_test.sh,内容如下
cd /home/xyz/Desktop/
gnome-terminal -e "bash -c ./efg"
#desktop 文件夹包含一个名为 的可执行文件efg
。
如果我gnome-terminal -e "bash -c ./efg"
在终端中运行,它就可以正常工作。打开一个新终端,程序efg
就可以正常运行。我想让这个脚本startup_test.sh
在启动/登录后运行。
我处于具有 root 权限的登录状态。
chmod +x startup_test.sh
cp startup_test.sh /usr/sbin/
我的startup_test.service
有以下内容:
[Unit]
Description=ABC
[Install]
WantedBy=multi-user.target
[Service]
ExecStart=/usr/sbin/startup_test.sh
WorkingDirectory=/home/xyz/Desktop/startup
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=%n
startup_test.service
放置在/etc/systemd/system
文件夹中。
现在命令
systemctl daemon-reload
运行。无输出。
现在该命令systemctl enable startup_test.service
给出以下输出:
Failed to enable unit : Invalid argument
上述输出的原因是什么?
该命令systemctl start startup_test.service
没有输出。
该命令systemctl status startup_test.service
给出:
startup_test.service - ABC
Loaded: loaded (/etc/systemd/system/startup_test.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2024-02-19 12:09:20 IST; 2min 55s ago
Process: 32531 ExecStart=/usr/sbin/startup_test.sh (code=exited, status=203/EXEC)
Main PID: 32531 (code=exited, status=203/EXEC)
Feb 19 12:09:20 localhost.localdomain systemd[1]: Started ABC.
Feb 19 12:09:20 localhost.localdomain systemd[1]: startup_test.service: Main process exited, code=exited, status=203/EXEC
Feb 19 12:09:20 localhost.localdomain systemd[1]: startup_test.service: Failed with result 'exit-code'.
操作系统是redhat8.2