欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

将newlisp脚本安装成windows service

程序员文章站 2022-03-23 11:52:01
现在有一个需求,将一个newlisp脚本文件做成windows service,开机自动启动。每隔一段时间,检查一下系统环境,其他的进程是否还活着,等等。 由于在windows上...

现在有一个需求,将一个newlisp脚本文件做成windows service,开机自动启动。每隔一段时间,检查一下系统环境,其他的进程是否还活着,等等。

由于在windows上面运行newlisp,需要执行类似这种命令:


[plain]
newlisp a.lsp 

newlisp a.lsp
因此写成一个bat文件来执行上面的命令。这样问题就转化成如何将bat文件安装成windows service. 下面是详细的例子。

 


假设有一个daemon.lsp文件,内容如下:


[plain]
(while true 
       (println "hello, I am daemon") 
       (append-file "c:\\t.txt" "mm") 
       (sleep 1000)) 

(while true
       (println "hello, I am daemon")
       (append-file "c:\\t.txt" "mm")
       (sleep 1000))

每隔1000 ms往文件c:\t.txt里面写"mm"

 


再写一个daemon.bat文件,内容如下:


[plain]
newlisp C:\windows_service\daemon.lsp 

newlisp C:\windows_service\daemon.lsp一定要用绝对路径,确保以windows service运行的时候不会出错。

 

 

解压后,根据平台选择32或者64位的程序,复制到windows/system32/目录下。

现在运行命令:


[plain] 
nssm install my_daemon C:\windows_service\daemon.bat 

nssm install my_daemon C:\windows_service\daemon.bat

 

安装成功。
启动的时候,用正常的命令:


[plain] 
net start my_daemon 

net start my_daemon

 

注意,nssm.exe不能被删除或者移动位置。

 

卸载windows service很简单。


[plain]
nssm remove my_daemon confirm 

nssm remove my_daemon confirm

 

搞定。