跳到正文
本頁目錄

lip daemon

顯示或停止 lip 的常駐程式。

概要

text
lip daemon status [--json] [-h | --help]
lip daemon stop [-h | --help]

說明

常駐程式是屬於你這個使用者、在背景執行的 lip 處理程序,它為其他所有 lip 處理程序執行命令:除 daemon 組以外的所有命令,以及介面。託管伺服器也由它執行。

你不需要自己啟動它:

  1. 命令連線常駐程式。沒有常駐程式在監聽時,命令會啟動一個,使用它自己的環境變數,並與終端機分離。
  2. 如果常駐程式屬於另一個 lip 版本,或另一個 lip 可執行檔,命令會要求它結束,再啟動一個新的。忙碌中的常駐程式會繼續執行;參見更新之後。
  3. 常駐程式執行命令的方式與你啟動的 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

另請參閱