php 获取 iscsi 输出 Linux
我正在尝试使用 exec()、system()、passthru() 或任何内容来读取 iscsiadm -m session 的输出,但运气不佳,而且有点迷失。
我(认为我)知道的是:
- 这不是 sudoers 或权限问题,因为结果在终端或浏览器中是相同的(并且我的 sudoers 已经成功设置为使用 iscsiadm 进行登录/退出)
- 从终端,
iscsiadm -m 会话>; /tmp/scsi_sess
产生一个空的scsi_sess
文件
我需要知道的是:
- 输出发送到哪里,我无法使用 bash 或 php 脚本读取它,但可以在中看到它终端?
- 如何读取输出,或将输出发送到我可以读取的地方?
I am trying to use exec(), system(), passthru() or anything to read in the output of iscsiadm -m session
, am not having much luck, and a little lost.
What I (think i) know:
- It is not a sudoers or permission problem, as the results are the same in a terminal or browser (and my sudoers is already successfully setup to use iscsiadm for login/out)
- Executing the following command from a terminal,
iscsiadm -m session > /tmp/scsi_sess
yields an emptyscsi_sess
file
What I need to know:
- Where is the output getting sent, that I can not read it with a bash or php script but can see it in the terminal?
- How can I read the output, or get output sent somewhere that I can read it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用您的语法,您只能捕获标准输出。 您应该使用 Remember 重定向 stdout 上的 stderr
当您使用
> 进行重定向时, file
并且您仍然看到输出,该输出来自 stderr 而不是来自 stdouthttp://en .wikipedia.org/wiki/Standard_streams
With your syntax you're catching only the stdout. You should redirect the stderr on the stdout with
Remember, when you do a redirect with
> file
and you still see output, that output is from stderr and not from stdouthttp://en.wikipedia.org/wiki/Standard_streams