我对Centos 7中systemd单元文件的概念不熟悉,但需要在启动时启动MATLAB许可证管理器。 MATLAB没有提供有关如何执行此操作的具体解决方案,以下内容似乎有效,但在键入systemctl start license-manager
和systemctl stop license-manager
时要求输入密码。这是预期的吗?
请注意,这确实需要以特定用户身份运行,而不是以root身份运行。
这是我的/etc/systemd/system/license-manager.service
文件:
[Unit]
Description=MATLAB FlexLM license manager
[Service]
Type=forking
ExecStart=/usr/local/MATLAB/R2016a/etc/lmstart
ExecStop=/usr/local/MATLAB/R2016a/etc/lmdown
KillMode=none
Restart=on-failure
RestartSec=90
User=lmlicenseuser
[Install]
WantedBy=multi-user.target
答案 0 :(得分:0)
传统上,在向其他用户运行命令时,非root用户总是被要求输入密码,是的。
但是,因为您已指定它是multi-user.target
的依赖项,所以每次重新启动时都应该自动启动它,因此您以后不需要输入密码。
如果出于某种原因你将来仍然需要手动控制它,你可以使用sudo
并编辑/etc/sudoers
以允许这两个特定命令在没有密码的情况下运行,使用{{1 }}
答案 1 :(得分:0)
您可以尝试Crontab
bash$ crontab -e
然后添加以下行
@reboot /usr/local/MATLAB/R201Xx/etc/lmstart
这应该可以解决您的问题。