我有一个python脚本搜索日志,它不断地输出找到的日志,我想使用linux管道来过滤所需的输出。像这样的例子:
$python logsearch.py \ grep超时
问题是排序和wc被阻塞,直到logsearch.py完成,而logsearch.py将继续输出结果。
样本logsearch.py:
p = subprocess.Popen("ping google.com", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
for line in p.stdout:
print(line)
更
这是密码。不知何故输出是不一致的。ip.txt中的前2行有一个新的行,而第三个行正在按预期工作。
code.py
import subprocess
with open('ip.txt') as f:
for IPAddr in f:
ping = subprocess.Popen(['ping','-c','1',IPAddr],stdout=f).wait()
if ping == 0:
print(f'{IPAddr} is up')
目前,我正在研究脚本,并且正在编写一些东西,可以在网络上对设备进行ping,如果它可以到达,然后从ping获取ttl数据,并声明它是操作系统。
我并不完全熟悉grep命令是如何工作的,但到目前为止,我已经了解了以下内容:
for host in $(seq 1 255);
do
ping -c 1 $sn.$host | grep "Unreachable" &>/dev/null
if [ $? -eq 0 ]; then
printf "%s\n" "$sn.$host is Offline"
fi
ping -c
我遵循了这个,它告诉我如何设置我的模拟器环境。虽然当我启动由AVD管理器创建的AVD时,仿真器启动,但没有出现徽标和黑屏。我的一个CPU核心始终是100%的;启用了KVM。-verbose选项日志以以下行结束:
emulator: control console listening on port 5554, ADB on port 5555
emulator: sent '0012host:emulator:5555' to ADB server
emulator: ping program: /media/Mywork/tools/sdk/android-sdk-linux
在我的脚本中,我基本上需要等待linux机器上的网络接口(例如en0、eth0等)完全初始化后,我的脚本才会继续。我在等待时不需要任何输出,我这样做是为了:
#!/bin/bash
printf "\nWaiting for the network to start...\n"
ping_status=$(ping -c 1 server &>/dev/null | egrep -m 2 -e "[0-9]+")
i=0
while [ -z "$status" ]
do
if [ "$i" -eq 30
该代码运行一个非常简单的过程,将多个地址无限地单击,并将结果输出到日志文件中,直到手动停止为止。
@echo off
title ping_logger
set d1=%date:~4%
set d2=%d1:/=-%
set t1=%time::=.%
set t2=%t1: =%
set host=X.X.X.1;X.X.X.162
set hostname=%host:;=+%
set pinghostname=%host:;= and %
set logfile=Log_%hostname%_%ComputerName%_%d2%_%t2%.csv
setlocal enableext