CentOS7上创建自己的开机启动服务

本人有一个自己写的代理用tcp代理服务器,需要随系统启动完成到 目标端口的代理操作

命令为  tcp_proxy -l 20011 -r 182.61.145.146 -p 20011

 

创建服务脚本文件

vi   /usr/lib/systemd/system/wonrowl_proxy.service

写入以下内容

[Unit]
Description=wonrowl proxy install as service test
After=network.target

[Service]
Type=forking
user=root
ExecStart=/root/wonrowl_proxy/start.sh
ExecStop=/root/wonrowl_proxy/stop.sh

[Install]
WantedBy=default.target
 

 

 

服务文件中用到的两个sh脚本内容分别是

#!/bin/bash
/root/wonrowl_proxy/tcp_proxy -l 20011 -r 182.61.145.146 -p 20011 >> /dev/null & 

 

 

#!/bin/bash
killall tcp_proxy

 

文件权限我为了省事,全部777

 

-rwxrwxrwx 1 root root  9038 Oct  7 22:47 main.c
-rwxrwxrwx 1 root root    95 Oct  8 14:56 start.sh
-rwxrwxrwx 1 root root    31 Oct  8 14:55 stop.sh
-rwxrwxrwx 1 root root 14336 Oct  7 22:47 tcp_proxy

 

万事具备后

 

执行 systemctl start  wonrowl_proxy

即可启动服务

通过 systemctl status wonrowl_proxy

查看结果

 

● wonrowl_proxy.service - wonrowl proxy install as service test
   Loaded: loaded (/usr/lib/systemd/system/wonrowl_proxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-10-08 14:58:56 CST; 41s ago
  Process: 577 ExecStart=/root/wonrowl_proxy/start.sh (code=exited, status=0/SUCCESS)
 Main PID: 580 (tcp_proxy)
   CGroup: /system.slice/wonrowl_proxy.service
           └─580 /root/wonrowl_proxy/tcp_proxy -l 20011 -r 182.61.145.146 -p 20011

Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Starting wonrowl proxy install as service test...
Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Started wonrowl proxy install as service test.
 

执行 systemctl stop wonrowl_proxy

即可关闭服务

通过 systemctl status wonrowl_proxy

 

[root@hecs-x-medium-2-linux-20201005162808 wonrowl_proxy]# systemctl status wonrowl_proxy
● wonrowl_proxy.service - wonrowl proxy install as service test
   Loaded: loaded (/usr/lib/systemd/system/wonrowl_proxy.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Thu 2020-10-08 15:07:39 CST; 2s ago
  Process: 1566 ExecStop=/root/wonrowl_proxy/stop.sh (code=exited, status=0/SUCCESS)
  Process: 577 ExecStart=/root/wonrowl_proxy/start.sh (code=exited, status=0/SUCCESS)
 Main PID: 580 (code=killed, signal=TERM)

Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Starting wonrowl proxy install as service test...
Oct 08 14:58:56 hecs-x-medium-2-linux-20201005162808 systemd[1]: Started wonrowl proxy install as service test.
Oct 08 15:07:39 hecs-x-medium-2-linux-20201005162808 systemd[1]: Stopping wonrowl proxy install as service test...
Oct 08 15:07:39 hecs-x-medium-2-linux-20201005162808 systemd[1]: Stopped wonrowl proxy install as service test.
 

 

 

此时虽然建立服务成功,但是并没有具备开机自动的功能,通过 systemctl enable wonrowl_proxy  添加开机自启动

[root@hecs-x-medium-2-linux-20201005162808 wonrowl_proxy]# systemctl enable wonrowl_proxy
Created symlink from /etc/systemd/system/default.target.wants/wonrowl_proxy.service to /usr/lib/systemd/system/wonrowl_proxy.service.

 

直接reboot

 

重启后  systemctl status wonrowl_proxy

 

[root@hecs-x-medium-2-linux-20201005162808 wonrowl_proxy]# systemctl status wonrowl_proxy
● wonrowl_proxy.service - wonrowl proxy install as service test
   Loaded: loaded (/usr/lib/systemd/system/wonrowl_proxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-10-08 15:09:40 CST; 4s ago
  Process: 1650 ExecStop=/root/wonrowl_proxy/stop.sh (code=exited, status=0/SUCCESS)
  Process: 1658 ExecStart=/root/wonrowl_proxy/start.sh (code=exited, status=0/SUCCESS)
 Main PID: 1659 (tcp_proxy)
   CGroup: /system.slice/wonrowl_proxy.service
           └─1659 /root/wonrowl_proxy/tcp_proxy -l 20011 -r 182.61.145.146 -p 20011

Oct 08 15:09:40 hecs-x-medium-2-linux-20201005162808 systemd[1]: Starting wonrowl proxy install as service test...
Oct 08 15:09:40 hecs-x-medium-2-linux-20201005162808 systemd[1]: Started wonrowl proxy install as service test.

 

可以看到已经自己运行,添加开机启动成功

 

收工

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值