>我有以下内容:
- main.py python脚本,在运行时写入main.log。
- 我正在写一个 sh 文件。
我想从 sh 文件执行 python 脚本,并在终端窗口中查看在执行时写入 main.log 文件的所有日志。
目前我正在通过打开一个终端并执行脚本并打开另一个终端并写入来做到这一点
tail -f main.log.
谢谢。
用于启动 python 脚本的命令后使用 &
即可将其作为后台进程启动。然后,您可以在同一终端中tail -f
。
我过去曾使用 nohup
命令基本上断开与进程的连接并让它在后台运行。语法类似于nohup <program execution and options> > main.log &
然后,您可以tail -f main.log
实时观看它更新。
我在.sh无限运行或存在语法错误的nohup
中遇到了问题,因此请务必在运行前检查正确性。除非您将语句的末尾更改为 2>&1 &
以使stderr
重定向到 stdout
,否则您可能不会抓住这一点,但由于您正在运行 python 脚本,我认为这对您没有帮助。
最后,您可以通过杀死命令提供给您的PID
或使用ps -ef | grep <main.log>
来终止由nohup
创建的进程