最近我被一个Java程序困住了。我的要求是,我必须通过我的 Ubuntu 机器中的 java 代码重新启动我的 snmp 服务。通常我们可以这样做
Runtime.getRuntime().exec("service snmpd restart");
如果我使用 ROOT 用户登录系统,上面的代码工作正常。但是现在要求来了,可能客户端机器没有root权限。在这种情况下,要重新启动 snmp,需要使用 sudo“ sudo service snmpd restart ”执行命令。该命令将询问机器密码,输入密码后系统将重新启动服务。
现在,每当我尝试使用以下代码执行 java 代码时,它都不会重新启动服务。ecasue 它没有接收密码的选项。Runtime.getRuntime().exec("sudo service snmpd restart");
因此,当用户不是 root 用户并且需要使用 sudo 命令启动服务时,请帮助我找到一种使用 java 重新启动服务的方法。