unix - Java程序标准输出和从前台分离

标签 unix redirect tty nohup

我有一个Java程序,比方说Test.class。

当我执行java Test时,程序要求输入密码,然后继续。

问题是stdout重定向到日志,并且使用&(我们在UNIX上)启动程序。

我如何与该程序启动的Java Test&stdin和stdout进行交互?

一种可能的解决方案是在前台启动该程序,然后在有条件的情况下从Java在后台运行该程序。

谢谢!

最佳答案

如果程序可以从stdin中读取密码,则可以在Unix脚本提示符下输入密码,然后启动Java应用程序并将密码传递给它,例如:

echo $PASSWORD | java Test >log.out &

或者,您可以考虑将Java应用程序分为两部分;可能会有一个交互式的“前端”部分来验证密码,然后,一旦验证了密码,就可以启动“后端”部分作为后台进程并退出。

关于unix - Java程序标准输出和从前台分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905374/

相关文章:

unix - 如何使用 maven 解压缩符号链接(symbolic link)?

linux - 为什么我的进程计数脚本会出现误报?

linux - 一段时间后 sudo 无法正常工作

c - 如何强制从 tty 输入

linux - 在文件中递归查找字符串/正则表达式匹配项的最佳方法是什么? (UNIX)

unix - 将 find 的输出重定向到文件的问题

c - 编写自己的 shell - 处理某些管道时代码挂起 - 在 C 中

php - 微软azure开发的wordpress网站自定义页面将非www重定向到www的错误

Apache 重定向未定义域和默认站点

raspberry-pi - 无法禁用 systemd serial-getty 服务