将newlisp脚本安装成windows service
现在有一个需求,将一个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
搞定。
补充:综合编程 , 其他综合 ,