bye-rs

更新 發佈閱讀 1 分鐘
本文同步刊載在筆者個人網站:https://hhming.moe/post/bye-rs/


最近和同事在聊天時,因為手邊剛好在操作 MySQL,無聊間想到,不知道能不能輸入 bye 來結束連線呢?

結束 MySQL 互動介面時會出現 Bye

結束 MySQL 互動介面時會出現 Bye

實際測試了下,沒有。於是開啟了我的第一個 Rust 練習作品之路。




實際開始動手前,依照我在 Linux 上的經驗,覺得如果沒有相關套件可以用的話,應該就不好搞;實際開始動手後,發現事情真的沒這麼單純,即便我使用 Command crate 也不過是在當下 Rust 主程序下開一個執行緒去執行 exit 或送出 EOF 而已,真正關閉的只有那支執行緒。

OK 那不然來研究一下 exit 是怎麼實作的吧!但是在看到近兩千行的 C 後,我覺得我果然不是大神,放棄這條路吧。


在思考兩天後都沒想到什麼好答案,最後轉向 Rust 臺灣社群,在那邊得到不少建議和想法。其中最簡單明瞭的方式就是直接向 parent process 送出 kill 訊號。簡單查一下發現內建標準函式庫就有可以取得 parent id 的模組,因此就決定採這條路先做看看,而最後就是下面的成果:

實際使用畫面

實際使用畫面

原本還有認真思考要不要發布到 crates.io 上,但發現 「bye」這個名稱已經被註冊佔用了(也看不出是在幹嘛的套件)想說就算了,之後再研究怎麼設定 cross compilation 然後放在 GitHub release 下吧(如果真的有人會用的話)


留言
avatar-img
留言分享你的想法!
avatar-img
hms5232的沙龍
5會員
23內容數
hms5232的沙龍的其他內容
2025/04/03
輕小說式標題,看標題就看完整篇文。重點就是標題說的,有興趣聽廢話再點進來吧。
Thumbnail
2025/04/03
輕小說式標題,看標題就看完整篇文。重點就是標題說的,有興趣聽廢話再點進來吧。
Thumbnail
2025/03/15
謝謝蘇媽讓我的 9700X 突飛猛進,讓我拿到 3DMark Free PC Upgrade 成就!
Thumbnail
2025/03/15
謝謝蘇媽讓我的 9700X 突飛猛進,讓我拿到 3DMark Free PC Upgrade 成就!
Thumbnail
2024/12/29
上個月還在職的時候,公司有提供一些名額給員工報名參加這次的台北葡萄酒馬拉松。雖然我自己並沒特別喜歡喝紅酒,不過既然有免費的機會,當然是要去看看了!(不知道哪裡來的勇氣,相信自己能跑馬拉松)
Thumbnail
2024/12/29
上個月還在職的時候,公司有提供一些名額給員工報名參加這次的台北葡萄酒馬拉松。雖然我自己並沒特別喜歡喝紅酒,不過既然有免費的機會,當然是要去看看了!(不知道哪裡來的勇氣,相信自己能跑馬拉松)
Thumbnail
看更多
你可能也想看
Thumbnail
想開始學塔羅卻不知道要準備哪些工具?這篇整理塔羅新手必備好物清單,從塔羅牌、塔羅布到收納袋與香氛噴霧一次入手。趁蝦皮雙11優惠打造專屬占卜空間,還能加入蝦皮分潤計畫,用分享創造收入。
Thumbnail
想開始學塔羅卻不知道要準備哪些工具?這篇整理塔羅新手必備好物清單,從塔羅牌、塔羅布到收納袋與香氛噴霧一次入手。趁蝦皮雙11優惠打造專屬占卜空間,還能加入蝦皮分潤計畫,用分享創造收入。
Thumbnail
今天不只要分享蝦皮分潤計畫,也想分享最近到貨的魔法少年賈修扭蛋開箱,還有我的雙11購物清單,漫畫、文具、Switch2、後背包......雙11優惠真的超多,如果有什麼一直想買卻遲遲還沒下手的東西,最適合趁這個購物季趕緊下單!
Thumbnail
今天不只要分享蝦皮分潤計畫,也想分享最近到貨的魔法少年賈修扭蛋開箱,還有我的雙11購物清單,漫畫、文具、Switch2、後背包......雙11優惠真的超多,如果有什麼一直想買卻遲遲還沒下手的東西,最適合趁這個購物季趕緊下單!
Thumbnail
成功加入Anytype之後就可以開始探索這一個開源的筆記軟體了^_^ 開始Anytype之前..... 1.刪除所有初始物件 2.思考自己的使用需求 3.不著急學會所有功能
Thumbnail
成功加入Anytype之後就可以開始探索這一個開源的筆記軟體了^_^ 開始Anytype之前..... 1.刪除所有初始物件 2.思考自己的使用需求 3.不著急學會所有功能
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
本文介紹了作者使用 Rust 重寫的一個專案,目的是為了在樹梅派上取得 LAN IP,並透過 Telegram 機器人發送訊息。作者首先提到在樹梅派上使用 Python 版本時遇到的問題,之後才開始討論為什麼選擇了 Rust 重寫的理由。
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 使用Linux作業系統的朋友們應該對於「htop
Thumbnail
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 使用Linux作業系統的朋友們應該對於「htop
Thumbnail
對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings。 rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予
Thumbnail
對於剛學習 Rust 的人來說,最一開始不是看 Youtube 的影片或是跟著 Rust 官方手冊 The Book 學習,這邊來推薦一個練習 Rust 的專案,名為 rustlings。 rustlings 包含著一些簡單的題目,來讓你更習慣閱讀或編寫 Rust 程式碼。該專案會在每道題目上給予
Thumbnail
我們執行應用程式的時候,如果應用程式存在著BUG導致系統沒有回應時,在Windows體系之下我們可以用「Ctrl + Alt + Delete」開啟工作管理員並找到該程式進行強制終止,但Linux呢? 我們來看看究竟要如何下指令來強制終止吧! 第一式: 逐個突破 我們的程式發生問題導致系統延宕時
Thumbnail
我們執行應用程式的時候,如果應用程式存在著BUG導致系統沒有回應時,在Windows體系之下我們可以用「Ctrl + Alt + Delete」開啟工作管理員並找到該程式進行強制終止,但Linux呢? 我們來看看究竟要如何下指令來強制終止吧! 第一式: 逐個突破 我們的程式發生問題導致系統延宕時
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News