ODI中建了一個代理,希望可以讓任務自動執行。起初是寫了一個.bat文件,然后將文件放在windows的“啟動”中。但是發現有問題,如果系統重啟后(比如自動更新后的重啟),需要人工進入系統,這個.bat文件才會自動執行。百度后發現可以將.bat文件注冊成window服務,這樣不論是不小心關了執行的界面還是自動重啟,都可以自動啟動。
參考了以下文章(博主對windows的開發完全是小白,所以連.bat文件都百度了才知道是什么):
https://blog.csdn.net/qq_42650988/article/details/81383814(.bat文件的妙用)
https://blog.csdn.net/horsequan/article/details/44212985(如何將bat服務注冊為windows服務)
https://wangye.org/blog/archives/42/(使用srvany.exe將任何程序作為Windows服務運行)
需要用到的小工具的下載鏈接:
https://pan.baidu.com/s/1O5Sj5rQOxXzPdifGbNE-4w
下面是正題(基本是轉載自https://blog.csdn.net/horsequan/article/details/44212985):
1、下載上面的工具
2、將兩個工具復制到C:\Windows\System32以及C:\Windows\SysWOW64下(我的服務器是64位的)
3、在命令行中使用工具新建一個服務,名字可以自己取。
4、點擊regedit.exe,打開注冊表,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services下可以找到剛剛添加的服務:
右鍵添加項,並將名字設置為Parameters。然后在項下添加字符串值AppDirectory、Application、AppParameters,如下圖所示,參數名稱不能是自己隨便命名的。如果隨意命名,服務將無法正常啟動。
5、最后打開services.msc 就可以看到自己的服務順利注冊成功,然后啟動。啟動成功后重啟服務器即可。
遺留問題:
如果我手動停止服務,發現實際停止不了。不知道原因,待解決。