我的文件编辑器创建带有前缀的临时文件.
.
我在跑步:
watchmedo shell-command -p '*.py' -R -c 'echo "${watch_src_path}"'
Run Code Online (Sandbox Code Playgroud)
当我正在编辑时,我看到临时文件的事件,然后文件保存两个事件(可能是因为它执行了删除和写入).
我想看一个事件 - 只有当我保存文件时.
有没有办法让我只使用CLI执行此操作?我对创建python脚本并直接使用watchdog API不感兴趣.
我是 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)
如果没有它,如果我尝试处理一个大文件,我会失败,因为它仍然没有完全写入。
我希望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) 我正在编写一些用于测试多线程程序的代码(学生作业 - 可能是错误的),并希望能够检测到它们何时死锁.当正常运行时,程序会定期生成输出到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)
我可以自己编写,但要做到这一点有点棘手,所以如果可能的话,我宁愿使用现有的代码.有人写过类似的东西?
好的,请看下面的解决方案 如果您正在做类似的事情,子进程模块也可能是相关的.
什么是通知看门狗的正确方法,我不是在无限循环,我仍在加载,所以不要杀我的应用程序?
我在我的崩溃日志中收到异常类型: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)
谢谢.
我有一个用于查询该传感器的硬件传感器的闭源API.API来自我通过C#interop使用的DLL.API的功能是阻塞的.它们通常会返回错误值,但在某些情况下它们不会返回.
我需要能够检测到这种情况,并在这种情况下杀死被阻止的线程.如何在C#中完成?
他们被调用的线程是通过BackgroundWorker创建的.我正在寻找一个简单的看门狗来阻止函数调用,我可以在调用函数之前设置它,并在我回来时重置.应该坐在那里等我回来.如果我没有,它将杀死线程,以便1)API再次释放,我的应用程序的任何线程仍然闲逛并做任何事情,如果它最终返回和2)我可以采取其他恢复措施,如重新初始化API以继续使用它.
我正在建立一个射线游行者来查看像mandelbox等的东西.它很棒.然而,在我目前的程序中,它使用每个工作人员作为从眼睛投射的光线.这意味着每个工作人员执行大量执行.因此,当查看一个非常复杂的对象或尝试以足够大的精度进行渲染时,会导致我的显示驱动程序崩溃,因为内核在单个工作程序上执行时间太长.我试图避免更改我的注册表值以使超时更长,因为我希望此应用程序在多台计算机上工作.
有什么方法可以解决这个问题吗?目前,每个工作项的执行完全独立于附近的工作项.我已经考虑过向GPU订阅缓冲区,该缓冲区将存储当前进度并仅执行少量迭代.然后,我会反复调用该程序,结果有望进一步完善.这个问题是我不确定如何处理分支射线(例如反射和折射),除非我有预期的最大数量.
任何人都有任何指示我应该怎么做来解决这个问题?我是OpenCL的新手,并且已经有很长一段时间了.我觉得好像我做错了或主要滥用OpenCL,因为我的单个工作项背后有很多逻辑,但我不知道如何拆分任务,因为它只是一系列步骤和检查和调整.
我怎样才能避免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) 我正在尝试使用看门狗中断作为计时器,让我的 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) 目前,我正在使用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) watchdog ×10
python ×5
afp ×1
arduino ×1
c# ×1
deadlock ×1
esp8266 ×1
iphone ×1
keras ×1
linux ×1
opencl ×1
raspberry-pi ×1
raymarching ×1
tensorflow ×1
unix ×1