Changeset 1706:a0210843485e
- Timestamp:
- 07/22/08 14:36:47 (5 weeks ago)
- Author:
- klai@…
- Branch:
- default
- Message:
-
Do not run commands blindly. The return code and stderr (stdout) may be very useful. (from rik)
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r1705
|
r1706
|
|
| 31 | 31 | if log: |
| 32 | 32 | INFO('doing ' + cmd) |
| 33 | | os.system(cmd) |
| 34 | | |
| | 33 | cmd_out = os.tmpfile() |
| | 34 | cmd_err = os.tmpfile() |
| | 35 | cmd_ret = os.system("exec 1>&%d 2>&%d; %s" % |
| | 36 | (cmd_out.fileno(), cmd_err.fileno(), cmd)) |
| | 37 | cmd_out.seek(0) |
| | 38 | cmd_err.seek(0) |
| | 39 | if cmd_ret is not 0: |
| | 40 | ERROR(("The command '%s' has finished with exit code %s.\n" +\ |
| | 41 | "stdout: %s\nstderr: %s") % |
| | 42 | (cmd, cmd_ret, cmd_out.read(), cmd_err.read())) |
| | 43 | cmd_out.close() |
| | 44 | cmd_err.close() |
| | 45 | return cmd_ret |
| | 46 | |
| 35 | 47 | class XenCPU(CPU): |
| 36 | 48 | """ |