在提示输入用户名密码的java中运行shell命令

时间:2015-11-18 11:53:44

标签: java shell unix sudo

我正在通过java代码重新启动运行在我的unix服务器上的应用程序。 这涉及1)使用用户名和密码登录服务器,然后运行retsart命令,提示输入密码,这是它在shell级别完成的方式

$ ssh hostname
users's password:
$ sudo appname start
[sudo] password for user:
 App restarted

我正在尝试使用java代码执行此操作我可以使用 jsch 登录服务器,但不知道如何运行提示输入密码的命令。 可以这样做吗?如果有,我的选择是什么?

1 个答案:

答案 0 :(得分:0)

如果您使用JSch ChannelExec来运行远程命令,则可以通过调用channel.setInputStream()来指定远程命令接收的输入流。传递的输入流可能包含您的密码(作为字节数组?请参阅ByteArrayInputStream