Как перенаправить вывод 'xterm - содержат-e' команда

Обработка Bash команды ниже может быть удивительной:

flock -x -w 5 /dev/shm/counter.txt echo "4" >  /dev/shm/counter.txt && sleep 5

Bash сначала работает flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt и, если это завершается успешно (выпускающий блокировку), то она работает sleep 5. Таким образом блокировка не сохранена в течение 5 секунд, которые можно ожидать.

2
14.04.2015, 18:02
3 ответа

Если вы хотите запустить вывод программы, которую вы говорите xterm для запуска, xterm -hold -e-mange arg1 arg2 arg3 | tee ~ / log.txt "

так Например, в моем Ubuntu я пробежал из Gnome-Terminal Что-то вроде Xterm -hold -e "Firefox | Tee ~ / log.txt"

Также есть возможность журнала ошибок С

программа 2> errors.txt , который перенаправляет любые ошибки, которые обычно переходят в консоль, чтобы файл

, но это немного избыточно, я думаю. Запуск программы от одного терминала в другую.

0
27.01.2020, 22:00

Перенаправление вывода может изменить поведение программ, выполняемых в терминале. Если вы хотите перехватить весь вывод программы, используйте что-то, что не мешает работе программы, например, script:

xterm -hold -e script -c "program arguments" output.log

(Linux) или

xterm -hold -e script output.log program arguments

(OSX, другие BSD)

Альтернативно, вы можете настроить xterm на запись своего экрана на "принтер", например, используя ресурс printerCommand или пункт меню Print-All Immediately.

Дальнейшее чтение:

1
27.01.2020, 22:00

Вы можете включить ведение журнала xterm и отправить весь вывод xterm в файл:

xterm -l -lf logfile.txt -e program

3
27.01.2020, 22:00

Теги

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