Command-Line-Interface
如何訪問正在執行的應用程序的內部 CLI?
我正在執行一個 java 應用程序(在 Ubuntu 上),它有自己的內部 CLI,但沒有 API 或來自外部的訪問。我能想到的一種解決方案是在它自己的偽終端中執行這個應用程序,然後將命令寫入該終端以送出命令。這是最好的方法嗎?如果是這樣,有沒有一種傳統的方法來包裝這種事情?有沒有一種方法可以創建偽終端,在其中啟動應用程序,然後從其他終端簡單可靠地發送命令?
謝謝,
自己
老實說,這可能不是最好的主意,但您可以通過
screen -d -m -s your-java-app
. 這將導致 screen 啟動您的應用程序而不是 shell,並啟動它已經分離。然後,您可以根據需要附加到它。您甚至可以設置 ACL,以便某些人可以附加到它。我看到的最大缺點是 Ctrl-A,C 最終會執行程序的第二個實例。也許你可以有一個專用的 .screenrc 來禁用該綁定。