java中有stdin_在java中听stdin的后台进程
我必須創(chuàng)建一個(gè)
java程序,當(dāng)用戶輸入0時(shí)它應(yīng)該退出.用java代碼編寫沒(méi)問(wèn)題.
int cmd = read();
System.out.println("got command : " + cmd);
if (cmd == 48) { // ASCII code for 0
System.exit(0);
我想在linux中使用start-stop腳本運(yùn)行這個(gè)過(guò)程.我也可以使用&或者沒(méi)有
case "$1" in
'start')
if [ -f myfifo ]; then
rm myfifo
fi
mkfifo myfifo
cat > myfifo &
echo $! > myfifo-cat-pid
java -jar myjar.jar >/dev/null 2>&1 0
echo "Started process: "$!
;;
'stop')
echo 0 > myfifo
echo "Stopped process: "
rm myfifo
;;
esac
我的問(wèn)題是,只要我運(yùn)行此過(guò)程,它就會(huì)讀取輸入-1.雖然我想從stdinput中讀取somthing明確地回顯它,即調(diào)用stop.我只需要一個(gè)程序由shell腳本顯式關(guān)閉.我努力了.幫我.
編輯:
我只想在用戶按q或任何此類事件時(shí)關(guān)閉程序,并且不希望代碼中出現(xiàn)無(wú)限循環(huán).如果可能的話,任何其他方法如聽(tīng)其他事件也會(huì)有所幫助.我的代碼不應(yīng)該輪詢事件.我已經(jīng)嘗試過(guò)Jnotify,它監(jiān)視目錄并在該目錄中創(chuàng)建或刪除文件時(shí)引發(fā)事件.但運(yùn)氣不好,他們不支持SunOS. 🙁
總結(jié)
以上是生活随笔為你收集整理的java中有stdin_在java中听stdin的后台进程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java设置窗口不可移动_Java –
- 下一篇: 蓝桥杯java龟兔赛跑_算法-蓝桥杯习题