如何从wireshark解析100 json?

时间:2018-11-06 21:50:30

标签: python apscheduler

我需要模拟一个程序100次,每小时需要进行一次模拟(一次模拟的持续时间为1小时)。从每个模拟,我想生成不同的json。我的程序只能通过点击“退出”而停止,我也尝试使其生效:

from apscheduler.schedulers.blocking import BlockingScheduler
import os
def simulation():
    os.system("./program")
    print ("tshark -i tun0 -T ek > path/packets_one_hour.json")

scheduler = BlockingScheduler()
scheduler.add_job(some_job, 'interval', hours=1)
scheduler.start()

我的问题是我的脚本没有停止运行。我无法生成100个不同的json文件。我必须在每小时之后放置quit才能生成新的和不同的json。但是我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

请参考apscheduler文档中的this示例,您可以执行以下操作。

from datetime import datetime
import os
import threading

from apscheduler.schedulers.blocking import BlockingScheduler

def json_dump():
    # Put here your dump script
    pass


def simulation():
    os.system("./program")
    t = threading.Timer(3600, json_dump)
    t.start()


if __name__ == '__main__':
    scheduler = BlockingScheduler()
    scheduler.add_job(simulation, 'interval', hours=1, id='id_sim')
    print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))

    try:
        scheduler.start()
    except (KeyboardInterrupt, SystemExit):
        pass

老实说,还没有尝试过。让我知道它是否有效。