`systemctl` 启动单个服务,其中包含多个进程

这篇具有很好参考价值的文章主要介绍了`systemctl` 启动单个服务,其中包含多个进程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

要使用 systemctl 启动单个服务,其中包含多个进程,你可以使用 Systemd 的 template 机制。以下是使用 Systemd 'template' 以创建一个可同时启动多个进程的服务单元文件的过程:

  1. 为你的服务创建一个 template 服务单元文件。服务单元文件通常位于 /etc/systemd/system 目录中。使用以下命令创建一个 template 服务单元文件:

    sudo touch /etc/systemd/system/your-service@.service
    

    注意 @ 符号,它表示这是一个模板服务文件。根据实际服务名称替换 your-service

  2. 编辑 template 服务单元文件。使用文本编辑器(如 nanovim)打开服务单元文件,并为该服务配置适当的设置。

    sudo nano /etc/systemd/system/your-service@.service
    

    添加以下内容,根据您的实际需求进行修改:

    [Unit]
    Description=Description of your service instance %i
    After=network.target
    
    [Service]
    User=user-to-run-the-service-instance
    Group=group-to-run-the-service-instance
    ExecStart=/path/to/your/program --program-options instance-%i
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    DescriptionUserGroupExecStart 替换为适当的值。请特别注意,我们添加了 %i 标记。这将在启动服务时替换为实例编号。

  3. 重新加载 Systemd 配置:

    sudo systemctl daemon-reload
    
  4. 使用 systemctl 启动具有多个进程的单个服务:

    sudo systemctl start your-service@1 your-service@2 your-service@3
    

    在上述命令中,将 your-service 替换为您在步骤 1 中创建的模板服务文件的名称,并使用所需的实例数量。这将启动多个进程,每个进程都具有不同的实例编号。

现在,你已经配置了一个包含多个进程的服务,并使用 systemctl 将它们同时启动。使用此方法,你可以根据需要动态地启动、停止或重启各个进程实例。

要在系统启动时自动运行这些服务实例,请分别为每个指定实例使用如下命令:

sudo systemctl enable your-service@1
sudo systemctl enable your-service@2
sudo systemctl enable your-service@3

替换 your-service 并指定所需实例号。文章来源地址https://www.toymoban.com/news/detail-460187.html

到了这里,关于`systemctl` 启动单个服务,其中包含多个进程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Docker中使用systemctl启动服务报错的解决办法

    目录 一、问题背景      二、解决办法         在Docker中通过systemctl 启动服务的时候,总是报“ Failed to get D-Bus connection: Operation not permitted ”这样的错误提示,如下所示:         [root@localhost ~]# systemctl start sshd         Failed to get D-Bus connection: Operation not permitt

    2024年02月15日
    浏览(49)
  • C# Socket通信从入门到精通(16)——单个同步UDP服务器监听多个客户端C#代码实现

    我们在开发UDP通信程序时,有时候我们也需要开发UDP服务器程序,这个服务器只需要和一个客户端实现通信,比如这篇博文C# Socket通信从入门到精通(15)——单个同步UDP服务器监听一个客户端C#代码实现,但是在实际项目中有的时候需要和多个客户端进行通信,这时和一个客

    2024年01月22日
    浏览(58)
  • Linux服务器中启动mysql出现Redirecting to /bin/systemctl start mysql.service错误及处理

    service mysql start 启动mysql服务器时,提示如下错误: 原因推测: service mysql start 是重定向到 /bin/systemctl restart mysql.service. mysql 与mysqld是不同的,前者交互式命令(客户端),mysqld才是后端服务进程,应该是启错了 使用 service mysqld start 或者 systemctl start mysqld 启动 附:其他操作

    2024年02月13日
    浏览(56)
  • idea批量启动多个微服务

    通常开发中会有很多个微服务,逐个启动较为麻烦,可以通过idea设置批量启动多个微服务,具体参见如下: 1、添加多个微服务 打开配置,如下: 2、将需要进行批量启动的微服务添加进Compound,如下: 3、添加完微服务后,给Compound取个别名 4、批量启动多个微服务 下拉选择

    2024年02月11日
    浏览(43)
  • Git提交单个或者多个文件

    Git提交指定文件步骤 1.git status //查看修改的所有内容(或者git status -s) 2.git add ’ ’,例如:(git add components/pages/holders/xxx.vue) //’ \\\'引号中间放上文件名,执行上一步后,会显示文件名跟目录 //多个文件用空格分开 3.git stash -u -k //忽略其他文件,很重要的一步!!!! 4.gi

    2024年02月01日
    浏览(47)
  • IDEA中启动多个微服务(开启Services管理)

    在微服务开发过程中,我们经常要在本地启动很多个微服务,如果一个个在application启动类去启动肯定会很麻烦,效率很低,页面很乱,下面介绍下IDEA开发工具中得Services管理管理功能,也叫Run Dashboard: 第一步: 点击菜单栏:Views - Tool Windows - Services 第二步: 刚创建好的窗

    2024年02月11日
    浏览(47)
  • Docker宿主机复制(单个文件夹/多个文件/单个文件)到容器

    我的JPEGImages里面包含了多张图片,下面的指令将宿主机JPEGImages目录下的所有文件和子目录复制到7a7608e0bf84容器的/home/PaddleSeg/input/目录下 使用多行docker cp指令 docker cp 容器ID或名称:容器源路径 宿主机目标路径 docker cp 宿主机目标路径 容器ID或名称:容器源路径

    2024年02月08日
    浏览(51)
  • IDEA 在本地启动多个 SpringBoot 后端服务模拟集群

    目录 方式一:使用 IDEA 界面在多个后端端口运行同一个项目 方式二:通过控制台在运行项目 jar 包时传入端口配置 1. 点击 Run / Debug 在默认端口启动项目 2. 点击 Services,点击 + 号→ Run Configuration Type → SpringBoot 3. 单击已经启动的服务,按 Ctrl + D,弹出配置窗口 Edit Configur

    2024年01月18日
    浏览(42)
  • systemctl 命令设置开机自启动失败

    哈喽大家好,我是咸鱼。今天跟大家分享一个关于 Linux 服务(service)相关的案例   我在 3 月 31日的时候发表了一篇《shell 脚本之一键部署安装 Nginx》,介绍了如何通过 shell 脚本一键安装 Nginx   我脚本中执行了 Nginx 开机自启动的命令,当我使用 systemctl status nginx 命令复核的

    2023年04月10日
    浏览(62)
  • Linux中systemctl启动nginx

    部署ng的时候出现了以下现象 开了两个窗口 在其中一个启动了ng,在sbin目录下./nginx启动,启动正常 在另外一个观察ng的进程,进程正常 启动了ng的那个窗口关闭,再去另外一个窗口看ng进程,就无了 没找到导致的原因,启动执行是挂起的,但是我关闭了shell这个远程连接li

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包