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
4會員
19內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
hms5232的沙龍 的其他內容
在開發 Rust 或是使用 Rust 編寫的 CLI 工具時,常會看見類似下方的錯誤訊息: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 簡單寫一下該怎麼做。
本教學文章目標為使用 GitLab Pages 來協助達成隨機分配問卷或網址入口等需求
最近在幫家裡弄網站,規畫都好了,也買了 domain。結果過幾天被女友慫恿(他還自己身先士卒的也買了一個自己喜歡的 domain)下,也買了一個自己的網域名稱,開啟個人網站之路!
轉眼間又到了 10 月,說起 10 月除了國慶連假,當然還有不可錯過的開源界活動 Hacktoberfest! 什麼是 Hacktoberfest? Hacktoberfest 是由 Hack、 October、 Festival 組合而成的單字,為 DigitalOcean 每年舉辦的全球性活動,
本文目標是用 gh-pages 來部署靜態網頁達成需求 最近有人剛好有兩個版本的問卷,需要在使用者進入時隨機給予其中一份。他也找了程式碼,只差部署到一個地方來做隨機派發的需求。 簡單看一下發現其實用 Github Pages 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
在開發 Rust 或是使用 Rust 編寫的 CLI 工具時,常會看見類似下方的錯誤訊息: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace 簡單寫一下該怎麼做。
本教學文章目標為使用 GitLab Pages 來協助達成隨機分配問卷或網址入口等需求
最近在幫家裡弄網站,規畫都好了,也買了 domain。結果過幾天被女友慫恿(他還自己身先士卒的也買了一個自己喜歡的 domain)下,也買了一個自己的網域名稱,開啟個人網站之路!
轉眼間又到了 10 月,說起 10 月除了國慶連假,當然還有不可錯過的開源界活動 Hacktoberfest! 什麼是 Hacktoberfest? Hacktoberfest 是由 Hack、 October、 Festival 組合而成的單字,為 DigitalOcean 每年舉辦的全球性活動,
本文目標是用 gh-pages 來部署靜態網頁達成需求 最近有人剛好有兩個版本的問卷,需要在使用者進入時隨機給予其中一份。他也找了程式碼,只差部署到一個地方來做隨機派發的需求。 簡單看一下發現其實用 Github Pages 就能達成(單純的前端而已),可是程式碼內容比較不符個人習慣,所以就改了一下
本文使用網站的 FB 登入做示範 採用 Laravel 8 + Socialite 5 使用 Session 記錄狀態 不同版本可能會有些許語法及方法上的差異,請自行調整 前言 最近因為碰到需要實作 OAuth 第三方登入的需求,只好把之前隨便看看的東西撿回來研究並實作。不過我找到多數現存的中文文章
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我還沒能夠脫口而出 你制止了我 於是我決定退出 只為留下我那最後一道繽紛色彩 命運沒能寫下我和你更多的篇章 更讓我意想不到的是 這是我們的結局.
前陣子,我第一次辭退了一個工讀生 雖然已過去一個多月,但我仍時不時想起這件事。 依職責,我的確是可以依規定辭退他。 但身為一個人,我不禁反思,我憑什麼去辭退一個人。 所以,工作上才需要給你一個職稱、職位及職責,這樣才能好做事 這位工讀生,因為無法遵守當初應聘時所答應的條件,所以被辭退。
Thumbnail
成功加入Anytype之後就可以開始探索這一個開源的筆記軟體了^_^ 開始Anytype之前..... 1.刪除所有初始物件 2.思考自己的使用需求 3.不著急學會所有功能
Thumbnail
再見,就是希望下次可以再次遇見。所以我的標題不放 ‘再見’,我選擇了 ‘bye bye’。
Thumbnail
當朋友已決意離去 感傷多少會有一點 落淚倒是不必 想往昔來來去去 當魚倦雁疲 還是留點空間還給自己 世界應該依然是這般美麗 緣份來時彼此珍惜 緣份盡了難免惋惜 回首想 這段友誼 彼此盡力相知相惜 改不了天只好改變自己   學庸94.01.11
Thumbnail
本篇文章將會說明如何在Linux中使用RPM離線安裝MySQL。
Thumbnail
「哎呀!完蛋了!」 這是初見妳的第一句話。 「咦~我最後一次見妳是什麼時候啊?」 「真的就這樣跟妳說再見了嗎?」 這是妳靜悄悄離開後,我的悵然所失。
Thumbnail
登入資料庫方式,請執行以下的命令: sudo mysql -u root -p 建立一個新資料庫,我們建立“itslinuxfoss”資料庫為例: CREATE DATABASE itslinuxfoss; 為新建立的資料庫設定新的使用者名稱和密碼: GRANT ALL PRIVILEGE
Thumbnail
上回說明的手動下指令,傳出訊息。為了節省手動輸入之動作,將欲執行的curl指令內容,事先作成執行檔。當需要傳送訊息時,只要按兩下執行檔,便可立刻傳出訊息至LINE群組內之全員 2. 說明 2.1 因每次要傳送內容不同,將這些會變動的訊息資料,輸入後保存 於bat執行檔內
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
我還沒能夠脫口而出 你制止了我 於是我決定退出 只為留下我那最後一道繽紛色彩 命運沒能寫下我和你更多的篇章 更讓我意想不到的是 這是我們的結局.
前陣子,我第一次辭退了一個工讀生 雖然已過去一個多月,但我仍時不時想起這件事。 依職責,我的確是可以依規定辭退他。 但身為一個人,我不禁反思,我憑什麼去辭退一個人。 所以,工作上才需要給你一個職稱、職位及職責,這樣才能好做事 這位工讀生,因為無法遵守當初應聘時所答應的條件,所以被辭退。
Thumbnail
成功加入Anytype之後就可以開始探索這一個開源的筆記軟體了^_^ 開始Anytype之前..... 1.刪除所有初始物件 2.思考自己的使用需求 3.不著急學會所有功能
Thumbnail
再見,就是希望下次可以再次遇見。所以我的標題不放 ‘再見’,我選擇了 ‘bye bye’。
Thumbnail
當朋友已決意離去 感傷多少會有一點 落淚倒是不必 想往昔來來去去 當魚倦雁疲 還是留點空間還給自己 世界應該依然是這般美麗 緣份來時彼此珍惜 緣份盡了難免惋惜 回首想 這段友誼 彼此盡力相知相惜 改不了天只好改變自己   學庸94.01.11
Thumbnail
本篇文章將會說明如何在Linux中使用RPM離線安裝MySQL。
Thumbnail
「哎呀!完蛋了!」 這是初見妳的第一句話。 「咦~我最後一次見妳是什麼時候啊?」 「真的就這樣跟妳說再見了嗎?」 這是妳靜悄悄離開後,我的悵然所失。
Thumbnail
登入資料庫方式,請執行以下的命令: sudo mysql -u root -p 建立一個新資料庫,我們建立“itslinuxfoss”資料庫為例: CREATE DATABASE itslinuxfoss; 為新建立的資料庫設定新的使用者名稱和密碼: GRANT ALL PRIVILEGE
Thumbnail
上回說明的手動下指令,傳出訊息。為了節省手動輸入之動作,將欲執行的curl指令內容,事先作成執行檔。當需要傳送訊息時,只要按兩下執行檔,便可立刻傳出訊息至LINE群組內之全員 2. 說明 2.1 因每次要傳送內容不同,將這些會變動的訊息資料,輸入後保存 於bat執行檔內