方向1
使用 start 的 /b 參數來運行, 它可以實現類似 linux nohup 的後臺效果, 但如果退出父進程, 後臺也結束了.
方向2
使用 winsw 這些工具, 把程序註冊爲服務. 由於不方便管理服務, 所以未測試此方法.
方向3
使用 nodejs 的 child_process.spawn 使用子進程來運行, 假設使用了 detached 參數啓動後臺運行, 也會出現彈窗效果. 所以此方法無效.
方向4
使用 vbs 的隱藏運行功能, 但經過如果 vbs 退出了, pm2 就會認爲程序中斷, 又會再重新允許 vbs. 此方法還有待完善細節.
結果
syncthing 提供了 -no-console
參數, 可以後臺運行, 加上就可以了.
pm2 start syncthing.exe --name sync -- -no-console -no-browser