0

我正在尝试使用 exec()、system()、passthru() 或任何东西来读取 的输出iscsiadm -m session,但运气不佳,而且有点失落。

我(认为我)知道的:

  • 这不是 sudoers 或权限问题,因为在终端或浏览器中的结果是相同的(并且我的 sudoers 已经成功设置为使用 iscsiadm 登录/退出)
  • 从终端执行以下命令,iscsiadm -m session > /tmp/scsi_sess产生一个空scsi_sess文件

我需要知道的:

  • 输出在哪里发送,我无法使用 bash 或 php 脚本读取它,但可以在终端中看到它?
  • 如何读取输出,或将输出发送到我可以读取的地方?
4

1 回答 1

0

使用您的语法,您只能捕获标准输出。您应该使用重定向标准输出上的标准错误

iscsiadm -m session 2>&1 /tmp/scsi_sess

请记住,当您执行重定向> file并且仍然看到输出时,该输出来自 stderr 而不是来自 stdout

http://en.wikipedia.org/wiki/Standard_streams

于 2011-09-21T14:59:01.040 回答