我在我的Ubuntu22.04笔记本电脑中创建了一个systemd服务,它通过调用bash文件来运行一个java程序。
[Unit]
Description=Script to run JMS
[Service]
ExecStart=bash /home/user/Desktop/path_to_my_file/run_java.sh
[Install]
WantedBy=run_jms.target当我启动这个过程时,java程序生成的所有文件都受到写保护。但是,如果我直接从命令行执行bash文件,则生成的文件不受写保护。
如何使systemd服务不生成写保护的文件?
发布于 2023-02-02 19:45:31
如果User未在[Service]中指定,则服务的输出可能属于另一个用户,因此将显示为写保护。要解决这个问题,只需添加一个新行如下:
[Service]
ExecStart=bash /home/user/Desktop/path_to_my_file/run_java.sh
User=userhttps://unix.stackexchange.com/questions/734000
复制相似问题