문제

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 empty scsi_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?
도움이 되었습니까?

해결책

With your syntax you're catching only the stdout. You should redirect the stderr on the stdout with

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

Remember, when you do a redirect with > file and you still see output, that output is from stderr and not from stdout

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top