在此只简单提及如何如何使用SC命令将程序加入系统服务功能:

加入服务格式如下:

sc create ServiceName binPath= 路径 start= auto (等号后面的空格必须)

删除服务格式如下:

sc delete ServiceName

我们举个例子,将FlashFXP加入到系统服务中。(FlashFXP安装在D:\Program Files\FlashFXP文件夹)。

sc create FlashFXP binPath= D:\Program Files\FlashFXP\FlashFXP.exe start= auto

我们要删除FlashFXP这个服务的话,只需要执行一下命令就可以了。

sc delete FlashFXP

是不是很简单呢,至于怎么创建、保存、修改批处理文件,我相信大家都会了。

Linux启动服务的是依靠  /etc/init.d/  下的脚本启动的。这些都是普通的   shell  脚本,系统在调用的时候,如果是启动服务,则传入  start   作为参数;stop  表示停止;restart  表示重启。因此你可以写一个脚本,比如简单的如这样:

#!/bin/sh

ARG=$1

case  $ARG   in    

start):

nohup  /path/to/your/program     &  

;;

stop):

pkill  program  

;;

restart):

pkill  program  

nohup  /path/to/your/program   &  

;;

esac

把这个脚本放在  /etc/init.d   里面,譬如  /etc/init.d/your_prog

然后加入相应运行级别的链接:在  5   级启动则

ln  -s   /etc/init.d/your_prog   /etc/rc5.d/S100your_prog  

ln  -s   /etc/init.d/your_prog   /etc/rc0.d/K100your_prog  

这里两个数字都可以用对应目录里最大的数字,因为没有别的服务依赖你的服务。

这样表示,当系统进入  init   level   5  的时候启动你的程序,进入   init  level   0   的时候停止你的程序。

nohup是告诉系统忽略用户退出系统 让进程运行直到进程结束为止

比如我在远程打开ssh终端运行程序./server 如果不用nohup当我关闭ssh终端时 ./server进程将会中止

使用nohup  ./server   &  可以在用户退出终端时 进程能继续执行