如果是长时间运行跑循环,
那么,在每个循环的刚开始的时候,输出 \x1b[2K\r
然后,再输出其他的信息,
这个循环里可能会有两种情况,一是有重点信息需要输出,一种是不需要输出重要信息。
那么,只需要在,需要输出重要信息的时候,输出\n,这行信息会被保留,否则的话,会在下一次循环,被\x1b[2K\r覆盖掉。
不知道说的够明白了没有。
一个简单的演示:
<?php
$clear = "\x1b[2K\r";
for ($i=0; $i < 100; $i++) {
echo $clear;
$date = date("Y-m-d H:i:s");
if(rand(0, 20) == 0){
echo "[$date] got something($i)\n";
}else{
echo "[$date] $i (skip)";
}
usleep(100000);
}
疑问:就是每次清屏再从头输出?
回答:
\x1b[2K 的意思是清除所在行的所有内容
\r 是把光标移动回当前行的开头
这两个连起来用就是“清屏再从头输出”,只清除当前行
已经用了好些年了,正好解决了前面这个MJJ的需求
怎样知道python脚本是在运行状态
python脚本放在本地一直运行
因为这个程序可能要几十分钟或者更长时间才会有输出
但又不想打印出一堆文字或者时间占满屏幕
你们一般怎么处理
好知道程序确实在运行没有停止
比较cool一点的脚本有没有?
我是指在原来的脚本里面加入什么代码
自动打印出来比较酷的显示在屏幕
显示程序正在运行状态
回复:nohup & 和 ps | grep python
回复:ps -ef | grep python
也就是:
既知道程序的运行状态(也就是每次循环都输出了信息)
也不要让过多的无用信息把屏幕给占了(如果当前循环的信息无用,就在下次循环给覆盖掉)
|