小编sme*_*eeb的帖子

systemd:服务缺少 ExecStart= 和 ExecStop= 设置。拒绝

我正在尝试通过 Debian 发行版将我的应用程序作为守护进程/服务运行systemd。这是我的服务文件:

\n\n
[Unit]\nDescription=MyApp Service\nAfter=multi-user.target\n\n[Service]\nType=simple\nRestart=always\nExecStart=sudo /usr/bin/java -jar /home/pi/myapp.jar\n\n[Install]\nWantedBy=multi-user.target\n
Run Code Online (Sandbox Code Playgroud)\n\n

我将其复制到/lib/systemd/system/myapp.service. 然后我运行:

\n\n
sudo systemctl enable myapp\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我检查状态:

\n\n
sudo systemctl status myapp\n
Run Code Online (Sandbox Code Playgroud)\n\n

我看到这些错误:

\n\n
\xe2\x97\x8f myapp.service - MyApp Service\n   Loaded: error (Reason: Invalid argument)\n   Active: inactive (dead)\n\nSep 29 09:56:24 raspberrypi systemd[1]: [/lib/systemd/system/myapp.service:8] Executable path is not absolute, ignoring: sudo /usr/bin/java -jar /home/pi/myapp.jar\nSep 29 09:56:24 raspberrypi systemd[1]: myapp.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我这样做时,which java我看到:

\n\n
pi@raspberrypi:/lib/systemd/system $ …
Run Code Online (Sandbox Code Playgroud)

debian systemd services daemon

4
推荐指数
1
解决办法
5万
查看次数

符号链接似乎不存在

这里是 MacOS,尽管我 99% 确定这是一个 Unix 问题。

我正在尝试查看 MySQL 的确切安装位置。在终端中我输入:

which mysql
Run Code Online (Sandbox Code Playgroud)

我得到:

/usr/local/bin/mysql
Run Code Online (Sandbox Code Playgroud)

所以我看到该目录 ( ls -al /usr/local/bin/mysql) 中有什么内容,它给了我:

lrwxr-xr-x  1 myuser  admin  32 Mar 20  2017 /usr/local/bin/mysql -> ../Cellar/mysql/5.7.17/bin/mysql
Run Code Online (Sandbox Code Playgroud)

好的。符号链接。所以我尝试通过 ) 访问该符号链接ls -al ../Cellar/mysql/5.7.17/bin/mysql,我得到:

ls: ../Cellar/mysql/5.7.17/bin/mysql: No such file or directory
Run Code Online (Sandbox Code Playgroud)

那么我../Cellar/mysql/5.7.17/bin/mysql在我的机器上哪里可以找到呢?

osx filesystems symlink

2
推荐指数
1
解决办法
1533
查看次数

标签 统计

daemon ×1

debian ×1

filesystems ×1

osx ×1

services ×1

symlink ×1

systemd ×1