В настоящее время у меня на сервере unix есть фоновый процесс, который работает на несколько часов дольше, чем должен.
Я не могу вспомнить команду, позволяющую мне увидеть результат фонового процесса. Я не забуду добавить этот ответ в закладки!
Что также может быть полезно, если вы не уверены, делает ли он что-нибудь вообще, так это использование strace.
Если ваше приложение является службой dhcpd, запустите ps ax | grep [d]hcpd
$ ps axufw | grep [d]hcpd
dhcpd 21645 0.0 0.1 19156 4956 ? Ss Oct02 0:00 /usr/sbin/dhcpd -f -q -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/ltsp/dhcpd.conf
Ваш PID - 21645, поэтому вам нужно запустить sudo strace -p 21645
. Или отбросьте sudo, если вы уже являетесь пользователем root.
Он будет получать системные вызовы от вашего приложения в реальном времени и точно сообщать вам, что делает ваша программа.
Примечание: заключите букву команды grep в скобки, чтобы выделить саму команду grep.
Как продолжение Мариано Монтаньеса Уреты.
Если вы видите задачу в jobs
в окне, вы должны увидеть что-то вроде этого:
$ jobs
[1]+ Running tail -f .ssh/known_hosts &
Если вы затем используете fg
вместе с номером задания вы можете вывести его на передний план, т.е. fg %1
принесет мой tail
команда на передний план. Вы также можете использовать fg
команда с PID.
используйте fg, что означает передний план :)
tail -f whatever-file-the-process-is-writing-to.txt