标签: watchdog

如何使用watchmedo忽略以句点开头的文件?

我的文件编辑器创建带有前缀的临时文件..

我在跑步:

watchmedo shell-command -p '*.py' -R -c 'echo "${watch_src_path}"'
Run Code Online (Sandbox Code Playgroud)

当我正在编辑时,我看到临时文件的事件,然后文件保存两个事件(可能是因为它执行了删除和写入).

我想看一个事件 - 只有当我保存文件时.

有没有办法让我只使用CLI执行此操作?我对创建python脚本并直接使用watchdog API不感兴趣.

python watchdog

3
推荐指数
1
解决办法
1361
查看次数

Python(看门狗) - 等待文件被正确创建

我是 Python 新手,正在尝试实现良好的“文件创建”检测。如果我不把time.sleep(x)我的文件以错误的方式详细说明,因为它们仍在文件夹中“创建”。(缓冲区不为空)如何在x每次创建文件时不等待几秒钟的情况下绕过这个事情?

这是我的代码:

主要的:

while 1:
    if len(parser()) > 0: #  arguments are valid
        if len(parser()) == 3:
            log_path = parser()['log_path']
        else:
            log_path = os.getcwd()
        paths = parser()
        if paths:
            handler = Event_Handler()
            observer = Observer()
            observer.schedule(handler, paths['src_fld'], True)
            observer.start()
            try:
                    while True:
                        time.sleep(1)
            except KeyboardInterrupt:
                observer.stop()
            observer.join()
    else:
        exit(1)
Run Code Online (Sandbox Code Playgroud)

Event_Handler 类:

class Event_Handler(FileSystemEventHandler):
    def on_created(self, event):
        if not event.is_directory:
            time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

正如我所说,time.sleep(1)如果没有它,如果我尝试处理一个大文件,我会失败,因为它仍然没有完全写入。

python watchdog

3
推荐指数
1
解决办法
4353
查看次数

使用python的看门狗从Linux监视afp共享文件夹

我希望linux机器(Raspberry pi)通过AFP监视共享文件夹(Apple文件协议,macbook是主机)。

我可以通过mount_afp挂载共享文件夹,并安装看门狗python库来监视共享文件夹。问题是看门狗只能监视来自Linux机器本身的修改。

如果监视文件夹已由主机(Apple Macbook)或其他PC修改,则linux机器无法找到更改。没有日志出来。

在主机(Apple Macbook)上测试了相同的看门狗python文件后,我可以获取其他计算机所做的修改日志。

主机可以获取文件或文件夹的所有修改。但是其他计算机(来宾计算机)无法监视主机或其他设备对文件的修改。

看门狗是否正常?还是帐户和权限有问题?

这是看门狗样本。

  import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler


class Watcher:
    DIRECTORY_TO_WATCH = "/path/to/my/directory"

    def __init__(self):
        self.observer = Observer()

    def run(self):
        event_handler = Handler()
        self.observer.schedule(event_handler, self.DIRECTORY_TO_WATCH, recursive=True)
        self.observer.start()
        try:
            while True:
                time.sleep(5)
        except:
            self.observer.stop()
            print "Error"

        self.observer.join()


class Handler(FileSystemEventHandler):

    @staticmethod
    def on_any_event(event):
        if event.is_directory:
            return None

        elif event.event_type == 'created':
            # Take any action here when a file is first created.
            print "Received created event - %s." % event.src_path …
Run Code Online (Sandbox Code Playgroud)

python linux afp watchdog raspberry-pi

3
推荐指数
1
解决办法
2068
查看次数

用于在python中实现监视程序计时器的工具

我正在编写一些用于测试多线程程序的代码(学生作业 - 可能是错误的),并希望能够检测到它们何时死锁.当正常运行时,程序会定期生成输出到stdout,这样就可以很简单:如果X秒没有输出,则将其删除并报告死锁.这是函数原型:

def run_with_watchdog(command, timeout):
    """Run shell command, watching for output.  If the program doesn't
     produce any output for <timeout> seconds, kill it and return 1.  
     If the program ends successfully, return 0."""
Run Code Online (Sandbox Code Playgroud)

我可以自己编写,但要做到这一点有点棘手,所以如果可能的话,我宁愿使用现有的代码.有人写过类似的东西?


好的,请看下面的解决方案 如果您正在做类似的事情,子进程模块也可能是相关的.

python unix multithreading deadlock watchdog

2
推荐指数
1
解决办法
2296
查看次数

Iphone,我怎样才能避免看门狗杀死我的应用程序需要很长时间才能启动?

什么是通知看门狗的正确方法,我不是在无限循环,我仍在加载,所以不要杀我的应用程序?

我在我的崩溃日志中收到异常类型:00000020异常代码:0x8badf00d,仅当从iphone独立运行应用程序时才从xcode

代码花费的时间是:

- (void)viewDidLoad {
    [super viewDidLoad];
 Reachability* reachability = [Reachability sharedReachability];
 [reachability setHostName:@"www.apps2you.com"];    // set your host name here
 NetworkStatus remoteHostStatus = [reachability remoteHostStatus];

 if (remoteHostStatus == ReachableViaWiFiNetwork||remoteHostStatus == ReachableViaCarrierDataNetwork )
 {
  //getting the xml file and then getting the ad images online to display as splah ads.
 }
 else {
//or launch the main interface if there's no connectivity.
  [self DisplayTabbar];
 }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone watchdog

2
推荐指数
1
解决办法
5440
查看次数

看门狗阻止函数调用

我有一个用于查询该传感器的硬件传感器的闭源API.API来自我通过C#interop使用的DLL.API的功能是阻塞的.它们通常会返回错误值,但在某些情况下它们不会返回.

我需要能够检测到这种情况,并在这种情况下杀死被阻止的线程.如何在C#中完成?

他们被调用的线程是通过BackgroundWorker创建的.我正在寻找一个简单的看门狗来阻止函数调用,我可以在调用函数之前设置它,并在我回来时重置.应该坐在那里等我回来.如果我没有,它将杀死线程,以便1)API再次释放,我的应用程序的任何线程仍然闲逛并做任何事情,如果它最终返回和2)我可以采取其他恢复措施,如重新初始化API以继续使用它.

c# multithreading watchdog

2
推荐指数
1
解决办法
1139
查看次数

OpenCL内核的大量执行时间会导致崩溃

我正在建立一个射线游行者来查看像mandelbox等的东西.它很棒.然而,在我目前的程序中,它使用每个工作人员作为从眼睛投射的光线.这意味着每个工作人员执行大量执行.因此,当查看一个非常复杂的对象或尝试以足够大的精度进行渲染时,会导致我的显示驱动程序崩溃,因为内核在单个工作程序上执行时间太长.我试图避免更改我的注册表值以使超时更长,因为我希望此应用程序在多台计算机上工作.

有什么方法可以解决这个问题吗?目前,每个工作项的执行完全独立于附近的工作项.我已经考虑过向GPU订阅缓冲区,该缓冲区将存储当前进度并仅执行少量迭代.然后,我会反复调用该程序,结果有望进一步完善.这个问题是我不确定如何处理分支射线(例如反射和折射),除非我有预期的最大数量.

任何人都有任何指示我应该怎么做来解决这个问题?我是OpenCL的新手,并且已经有很长一段时间了.我觉得好像我做错了或主要滥用OpenCL,因为我的单个工作项背后有很多逻辑,但我不知道如何拆分任务,因为它只是一系列步骤和检查和调整.

watchdog opencl raymarching

1
推荐指数
1
解决办法
1951
查看次数

ESP8266 软 WDT 错误

我怎样才能避免Soft WDT reset这个循环中的错误。当达到数字 3190 时,错误始终发生。

unsigned long TimeFrame = 10000;

void setup() {
    Serial.begin(9600);
}
void loop() {
    unsigned long StartTime = millis();
    while (millis() - StartTime <= TimeFrame){
        Serial.println(millis() - StartTime);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以数到 2500 次 4 次,但这是否是解决此错误的正确方法?

感谢您的解释。我delay(10)在代码中添加了一个,它可以工作。

void setup() {
    Serial.begin(9600);
}
void loop() {
    unsigned long StartTime = millis();
    while (millis() - StartTime <= TimeFrame){
        Serial.println(millis() - StartTime);
        delay(10);
    }
}
Run Code Online (Sandbox Code Playgroud)

watchdog esp8266

1
推荐指数
1
解决办法
661
查看次数

如何禁用然后重新启用 Arduino 的看门狗中断?

我正在尝试使用看门狗中断作为计时器,让我的 Arduino 休眠一段时间。我的问题在于,在唤醒时,我需要执行超过 8 秒的操作。

目前,我的 Arduino 将休眠 1 分钟,使用看门狗的连续中断将其唤醒并使其重新进入休眠状态。然而,1 分钟后,我开始执行超过 8 秒的操作,并且看门狗中断超时。

我想关闭看门狗定时器,进行操作,然后重新启用它并返回睡眠状态。

这是我的代码:

#include "Adafruit_FONA.h"
#include <avr/sleep.h>
#include <avr/power.h>
#include <avr/wdt.h>

#define FONA_RX 10
#define FONA_TX 9
#define FONA_RST 4
#define LED_PIN 8

// this is a large buffer for replies
char replybuffer[255];
char *SMSnumber = "6015962842";
char stack[128] = {'c'};

//Value for watchdog timer interrupt.
volatile int f_wdt = 1;
int seconds = 0;
int minutes = 1;
int hours = 0;
int interval = ((hours*60*60) + …
Run Code Online (Sandbox Code Playgroud)

arduino watchdog

0
推荐指数
1
解决办法
1万
查看次数

ValueError:Tensor不是此图的元素

目前,我正在使用TensorFlow和Keras测试一些深度学习。现在,我想评估图片。因此,我需要借助看门狗类来了解是否在文件夹中创建了新图像。在这种情况下,我想做一个预测。因此,我需要首先从.json文件加载训练有素的深度学习模型,并使用.h5文件的权重对其进行初始化。此步骤需要一些时间。因此,我计划一次加载模型,随后我想做许多预测。不幸的是,我收到以下错误消息,并且我建议使用load_model出错。如果我为每个预测加载它,就没有问题,但是这种方式不是我想要的。

#####     Prediction-Class     #####

#Import
from keras.models import model_from_json
import numpy as np
from keras.preprocessing import image
from PIL import Image


class PredictionClass():
    #loaded_model = self.LoadModel()
    counter = 0

    def Load_Model(self):
        modelbez = 'modelMyTest30'
        gewichtsbez = 'weightsMyTest30'

        # load json and create model
        print("Loading...")
        json_file = open(modelbez + '.json', 'r')
        loading_model_json = json_file.read()
        json_file.close()
        loading_model = model_from_json(loading_model_json)
        # load weights into new model
        loading_model.load_weights(gewichtsbez + ".h5")
        print('Loaded model from disk:' + 'Modell: ' + modelbez + 'Gewichte: ' + gewichtsbez) …
Run Code Online (Sandbox Code Playgroud)

python watchdog keras tensorflow

0
推荐指数
1
解决办法
1101
查看次数