Linux长时间运行的后台服务/可执行文件的扩展名是什么?

Linux长时间运行的后台服务/可执行文件的扩展名是什么?

我开发了一个项目/服务这将为我提供 linux m/c 的可安装文件。

服务:如果机器打开,它总是在后台运行。 Linux 后台进程。

我只是想知道该文件的扩展名是什么。就像 Windows 服务有 .exe 扩展名吗?

我们需要 Linux 机器上的管理员权限才能安装该文件吗?

我可能使用下面的命令

[Unit]  
Description=Dotnet Core Demo service  

[Service]  
ExecStart=/bin/dotnet/dotnet Service.Sample.dll  
WorkingDirectory=/etc/SampleService/  
User=dotnetuser  
Group=dotnetuser  
Restart=on-failure  
SyslogIdentifier=dotnet-sample-service  
PrivateTmp=true  

[Install]  
WantedBy=multi-user.target

答案1

开头的代码[Unit]是一个systemd服务文件。当您分发软件包时,您需要使用特定于软件包系统的方法,无论是 dpkg、RPM 还是其他东西,将服务文件放入适当的目录(最有可能是 /usr/lib/systemd/system)并获取它根据 [Install] 部分 ( systemctl enable) 自动启动。请参阅 systemd 和相关软件包系统的文档。

服务文件的扩展名必须是.service.

答案2

扩展名并不重要。为了使该文件可执行,需要为尝试运行该文件的任何人设置可执行权限位,否则必须将其用作要运行的语言或 shell 的二进制文件的参数。

对于第一个示例,设置了执行权限:

当前目录:

./installed_file

任何其他目录:

/path/to/installed_file

没有设置执行权限:

bash installed_file

python /path/to/installed_file

最后两个使用 Bash 或 Python 执行该文件。

如果您尝试使用 yum、dnf、rpm、apt、dpkg、zypper、pacman 等软件包管理器来安装它,那么您将需要 sudo,或者如您所称的 admin。

如果您打算以其他方式创建它并将其放置在只有 root 具有写入能力的目录中,例如/usr/bin/usr/sbin/usr/local/bin/usr/local/sbin/opt/等,情况也是如此。

相关内容