我正在linux環境中運行大型計算應用程序。我的目標是創建一個接口,可以從shell窗口與應用程序進行通信,並從應用程序獲取結果並將其打印在shell中。從shell中與正在運行的進程通信
比方說,我有一個應用程序,可以將素數無限地寫入文件。一定時間後,如果你想知道應用程序在做什麼,是有可能創造一個接口一樣,
$[ pid ] "Display current number in check";
$The number, 17559323 is currently checked if its a prime.
這是故意的,我不得不在提示符「$」,它應該對普通用戶有可能溝通。信號需要特權執行。由於我可能有很多此應用程序運行的實例,因此我不知道套接字如何實際上可以提供幫助,因爲我想專門討論獲取狀態的過程。 從shell中與正在運行的進程進行通信的任何方向都將非常有幫助。
您可以讓您的應用程序在套接字上偵聽命令。客戶端程序可以連接到該套接字,發送命令,讀取響應並將其顯示給用戶。如果您有多個應用程序正在運行,只需讓每個應用程序打開一個套接字(可能是在PID之後將其命名)。 – larsks
這不會給我無客戶端的界面,我正在尋找。還需要有一個小型的客戶端應用程序,以便我的同事與應用程序進行通信。這意味着工具集不是獨立的。 (不支持像bash stdin/out這樣的os工具) – Veera
因此,不要使用套接字,而應將其設置爲嵌入式http服務器。現在你可以用'curl'來查詢它。 – larsks