iT邦幫忙

0

[go]window環境下的signal與關閉連線

  • 分享至 

  • xImage

golang新手請問各位大神:
windows下環境撰寫連線程式,以bat指令執行exe檔案,
有採用signal,
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)

正常採用ctrl+c,會進入defer close()連線,

但是如果直接關閉執行視窗或是用killtask,

似乎就不會進入defer?

這樣會不會造成連線沒有被正常關閉的問題呢?

nagiMemo iT邦新手 5 級 ‧ 2021-07-10 10:14:59 檢舉
自己回答自己,windows環境沒有辦法接受signal,所以不能直接關閉,否則會造成連線沒有辦法正常關閉.必須在視窗內輸入ctrl+C做操作
nagiMemo iT邦新手 5 級 ‧ 2021-07-10 10:16:44 檢舉
但有看到外掛的https://github.com/ElyDotDev/windows-kill。可以透過他在起一個發signal的做法把另外的程式關閉,但要先找出PID,需要寫一些邏輯判斷.
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答