2011-09-19 1430 views
15

以下终端命令显示logcat。如何退出adb logcat

$> $SDK/platform-tools/adb logcat 

但是我如何摆脱它回到终端提示?我试图杀死服务器,退出等

回答

36

按Ctrl +ç

+1

是不是像当前程序的中止?我想可能有另一种方式....优雅的退出,如果你愿意...... – OceanBlue

+0

不,没有其他简单的方法...我认为这种方式真的很优雅。 – Cristian

+2

这是事情。我试图通过我的应用程序读取logcat。我使用Runtime.getRuntime()。exec(“logcat -v time MyTag:D *:S”)。它一切正常,但它只是坐在那里等待更多的线路,就像在终端上。参考:http://stackoverflow.com/questions/7473469/read-logcat-from-app-not-working-correctly/ – OceanBlue

6

我的建议:

$> $SDK/platform-tools/adb logcat -c 
    $> $SDK/platform-tools/adb logcat > log_file.txt & 
    ... run your application ... 
    $> $SDK/platform-tools/adb logcat -c 

Logcat Documentation

-c Clears (flushes) the entire log and exits. 
+0

谢谢,这真的帮了我。 – Tien

11

使用-d选项,将让你一次性运行logcat。

adb logcat -d 

代替循环,它会在打印出日志缓冲区中的所有日志后返回到命令提示符。 使用此命令每一次,它总是从日志缓冲区的开头开始,除非你输入下面的命令来清理日志中的日志缓冲区:

adb logcat -c 

上面的命令是清除在logcat的缓冲区的日志。

1

我尝试使用Meir Gerenstadt的解决方案时发现问题。

adb logcat -c末并没有真正从写log_file.txt

我的解决办法停止logcat的是:

# Clear logcat 
$> $SDK/platform-tools/adb logcat -c 
# Redirect logcat to file, in background process. 
$> $SDK/platform-tools/adb logcat > log_file.txt & 
# Get process id of logcat background process above 
$> logcat_pid=$! 

... run your application ... 

# Now kill the logcat background process 
$> kill $logcat_pid