我有一個用Go編寫的程序,它以編程方式創建和管理屏幕。下面是一個示例:_, err := exec.Command("screen", "-S", "screen-"+strings.ToLower(name), "-X", "stuff", command+"\n").Output()這工作正常。當我控制+C程序時,創建的屏幕保持打開狀態(我想要的!但是,我已將其轉換為 Ubuntu 上的后臺服務。當我運行時,它會在沒有警告的情況下殺死那些屏幕。附加到屏幕也不會阻止此操作(立即轉到 )。但是,它不會殺死外部創建的屏幕。systemctl stop <service>[screen terminated]這是我的:.service[Unit]Description=>servicename> background serviceAfter=network-online.target[Service]ExecStart=/usr/lib/<servicename>/service[Install]WantedBy=multi-user.target我:rules%: dh $@ --with systemd --paralleloverride_dh_auto_install: dh_auto_install dh_systemd_enable || true dh_systemd_start || true我:controlPackage: <name>Version: 0.2Architecture: amd64Priority: optionalMaintainer: <me>Description: <description>Depends: screen, iptablesBuild-Depends: dh-systemd (>=1.5)我無法想象什么會導致這些屏幕死亡。我很確定它們沒有被附加到程序中,因為它作為可執行文件運行良好。系統日志中除了“服務已停止”和“服務已啟動”之外,未提及任何內容。我嘗試過在root下制作屏幕,不同的用戶,運行空屏幕與運行程序等。沒什么值得注意的。有什么想法嗎?
- 1 回答
- 0 關注
- 156 瀏覽
添加回答
舉報
0/150
提交
取消