欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java中有stdin_在java中听stdin的后台进程

发布时间:2023/12/4 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java中有stdin_在java中听stdin的后台进程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我必须创建一个

java程序,当用户输入0时它应该退出.用java代码编写没问题.

int cmd = read();

System.out.println("got command : " + cmd);

if (cmd == 48) { // ASCII code for 0

System.exit(0);

我想在linux中使用start-stop脚本运行这个过程.我也可以使用&或者没有

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

我的问题是,只要我运行此过程,它就会读取输入-1.虽然我想从stdinput中读取somthing明确地回显它,即调用stop.我只需要一个程序由shell脚本显式关闭.我努力了.帮我.

编辑:

我只想在用户按q或任何此类事件时关闭程序,并且不希望代码中出现无限循环.如果可能的话,任何其他方法如听其他事件也会有所帮助.我的代码不应该轮询事件.我已经尝试过Jnotify,它监视目录并在该目录中创建或删除文件时引发事件.但运气不好,他们不支持SunOS. 🙁

总结

以上是生活随笔为你收集整理的java中有stdin_在java中听stdin的后台进程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。