tty input異常問題解決

問題現象:

通過&符號後臺啟動某進程,在運行一段時間後出現tty input錯誤,且該進程的狀態變成了“T”。網上查找一般都是說該進程在向控制檯打印數據,所以不能通過&符號來後臺啟動,但是事實上我的代碼中沒有向控制檯句柄發送數據的地方,所以應該是代碼某個地方除異常了。(該問題的原因挺蠢的,不過這個現象挺有意思的)

tty input異常問題解決

tty input異常問題解決

解決方案:

經過定位發現代碼中會使用OpenChannel函數來打開串口,然後通過該socket句柄往串口寫入數據,但是這個函數寫的時候寫錯了,直接返回了0,而不是真正打開的socket句柄。導致後續的寫入操作都被寫到控制檯了,就出現了上面的奇怪現象。

tty input異常問題解決


分享到:


相關文章: