@Leytenant

Почему команда perl system() возвращает неверное значение?

Требуется получить результат выполнения внешней программы в переменную.

Запуск `top` или system("top") возвращает код 256.

Другие программы, например, `pwd` возвращают результат правильно.
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
попробуйте
top -b -n 1
или
top -n 1

top по умолчанию это же интерактивная команда, она не вернет ничего, пока Ctrl-C не нажать
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Pilat
perldoc.perl.org/functions/system.html
"The return value is the exit status of the program as returned by the wait call. To get the actual exit value, shift right by eight (see below)." То есть надо делить на 256.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы