lip daemon
顯示或停止 lip 的常駐程式。
概要
text
lip daemon status [--json] [-h | --help]
lip daemon stop [-h | --help]說明
常駐程式是屬於你這個使用者、在背景執行的 lip 處理程序,它為其他所有 lip 處理程序執行命令:除 daemon 組以外的所有命令,以及介面。託管伺服器也由它執行。
你不需要自己啟動它:
- 命令連線常駐程式。沒有常駐程式在監聽時,命令會啟動一個,使用它自己的環境變數,並與終端機分離。
- 如果常駐程式屬於另一個 lip 版本,或另一個
lip可執行檔,命令會要求它結束,再啟動一個新的。忙碌中的常駐程式會繼續執行;參見更新之後。 - 常駐程式執行命令的方式與你啟動的
lip完全一樣:在你的工作目錄中,使用你的環境變數,讀取你的標準輸入,寫到你的標準輸出和標準錯誤,並接收你的 Ctrl+C。lip以命令的結束代碼結束。
命令無法啟動或連線常駐程式時,會寫一條消息,然後自己執行命令。此時只有 lip run --managed 會失敗。
常駐程式為兩個終端機執行的兩條命令,表現得就像兩個處理程序:例如,一條命令持有工作區鎖時,另一條會發現鎖被佔用。
常駐程式會自行結束:
- 在一段時間內既沒有連線也沒有執行託管伺服器之後,目前版本中是 10 分鐘;
- 在更新的或另一個
lip要求它結束,而它處於空閒時;以及 - 在執行了更新 lip 或啟動安裝程式的
lip self-update之後,一旦空閒。
常駐程式通過只有你這個使用者能使用的端點訪問:Windows 上是命名管道,其他系統上是 Unix 套接字。參見常駐程式端點。
lip daemon status
顯示是否有常駐程式在端點上監聽;有的話,還顯示它的版本和處理程序 ID。
lip daemon stop
要求常駐程式結束,並等待它結束。
- 沒有常駐程式在監聽時,命令成功,不做任何變更。
- 常駐程式正在執行命令或執行託管伺服器時,命令失敗,常駐程式繼續執行。請先停止託管伺服器:在各個工作區中用
lip run --managed連線並按 Ctrl+C,或者在介面的伺服器頁停止它們。等其他命令結束。然後再次執行lip daemon stop。
這兩條命令都由你啟動的處理程序自己執行,從不交給常駐程式,也從不啟動常駐程式。
更新之後
舊版本 lip 的常駐程式如果還在執行託管伺服器或命令,就不會被取代。在它空閒之前:
lip run --managed使用舊的常駐程式,所以你仍然可以連線並停止它的伺服器;- 其他命令會寫一條消息,然後由新的
lip自己執行。
停止託管伺服器之後,下一條命令就會啟動新版本的常駐程式。
選項
| 選項 | 說明 |
|---|---|
--json | 用於 status:以 JSON 輸出結果。 |
-h、--help | 輸出幫助並結束。 |
輸出
lip daemon status 把結果寫到標準輸出。不帶 --json 時是給人看的一行:
text
The daemon of lip does not run.text
The daemon of lip 1.0.0 runs as process 4812, carrying out 0 commands.帶 --json 時,沒有常駐程式在監聽:
json
{"running":false}有常駐程式在監聽:
json
{"running":true,"version":"1.0.0","pid":4812}| 成員 | 值 |
|---|---|
running | 布爾值:是否有常駐程式在端點上監聽。 |
version | 字串:常駐程式的版本,即它的 lip -v 輸出的內容。僅當 running 為 true 時存在。 |
pid | 數字:常駐程式的處理程序 ID。僅當 running 為 true 時存在。 |
lip daemon stop 沒有結果;它向標準錯誤寫消息。
結束狀態
| 命令 | 0 | 非 0 |
|---|---|---|
lip daemon status | 無論常駐程式是否在執行。 | 用法錯誤。 |
lip daemon stop | 常駐程式已結束,或本來就沒有執行。 | 用法錯誤,或常駐程式正忙而繼續執行。 |
示例
檢視常駐程式是否在執行:
shell
lip daemon status在指令碼中,僅當常駐程式在執行時停止它:
shell
lip daemon status --json | jq -e '.running' > /dev/null && lip daemon stop