小编Tan*_*anj的帖子

bash脚本从shell运行,但不从cron作业运行

Cron安装是vixie-cron

/etc/cron.daily/rmspam.cron

#!/bin/bash
/usr/bin/rm /home/user/Maildir/.SPAM/cur/*;
Run Code Online (Sandbox Code Playgroud)

我有这个简单的bash脚本,我想添加到一个cron作业(之前还包括垃圾邮件学习命令),但这部分总是失败,"文件或目录未找到"从我的数字是metachar没有被正确插入时作为一个cron工作运行.如果我从命令行执行脚本它工作正常.

我想为什么这不起作用,当然是一个有效的解决方案:)

谢谢

当我获得流行的问题徽章时,编辑#1回到了这个问题.我第一次这样做,

#!/bin/bash
find  /home/user/Maildir/.SPAM/cur/ -t file | xargs rm
Run Code Online (Sandbox Code Playgroud)

最近刚读完xargs手册页并将其更改为此内容

#!/bin/bash
find  /home/user/Maildir/.SPAM/cur/ -t file | xargs --no-run-if-empty rm
Run Code Online (Sandbox Code Playgroud)

short xargs选项是-r

linux bash cron

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

使用OPC标签提高性能

我正在使用由Phoenix Contact创建的一个名为Think'n'Do的基于PC的自动化软件包.它实时处理,读取输入/控制逻辑/写入输出,所有这些都在最长50ms内完成.我们有一台OPC服务器,每隔10ms从PLC读取/写入标签.将标签写入PLC并读回写入的值有很长的延迟(Think'n'Do(50ms)> OPC服务器(10ms)> PLC(10ms)> OPC服务器(10ms)> Think'n'Do (50ms))这个过程需要6秒才能完成,因为我的数学应该只需要130ms.

任何关于在哪里寻找或为什么可能需要更长时间的想法都会有所帮助.

performance automation opc

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

memcpy没有按照预期的那样做

我有一些输出错误结果的代码.

#include <stdio.h>
#include <string.h>

int main() 
{
  unsigned char bytes[4];
  float flt=0;

  bytes[0]=0xde;
  bytes[1]=0xad;
  bytes[2]=0xbe;
  bytes[3]=0xef;

  memcpy( &flt, bytes, 4);

  printf("bytes 0x%x float %e\n", flt, flt);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是

bytes 0xc0000000 float -2.000001e + 00

我期待着

bytes 0xdeadbeef float -6.2598534e + 18

编辑#1正如所指出的那样,字节顺序可能会有所不同,这会产生以下结果

bytes 0xefbeadde float -1.1802469e + 29

我不明白的是从float到unsigned int的转换导致0xc0000000(同一printf语句中的float为-2.0000我将属于编译器优化)

这在以前在另一台计算机上工作.这可能是一次架构改变.

c c++ memcpy

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

python在嵌套for循环中跳过内部循环

我正在使用一些python来做一些变量名称生成.出于某种原因,我只是得到了我需要的一部分.

import sys
import csv

params = csv.reader(open('params.csv'), delimiter=',', skipinitialspace=True)

flags_r = []
flags_w = []
numbers_r = []
numbers_w = []
station = ['AC1','DC1','DC1']
drive = ['','Fld','Arm']

for i in range(3):
    for p in params:
        try:
            desc = p[1].split(' ')
            desc = [part.capitalize() for part in desc]
            desc = "".join(desc)
        except IndexError, e:
            print 'IndexError: %s' %(e,)
            continue
        print station[i],drive[i],p[0]
        flags_r.append( 'mod%(station)s_%(drive)sP%(param)04dr_%(desc)s' % \
                          { 'station' : station[i], 'drive' : drive[i], 'param': int(p[0]), 'desc':desc })
        flags_w.append( 'mod%(station)s_%(drive)sP%(param)04dw_%(desc)s' % \ …
Run Code Online (Sandbox Code Playgroud)

python nested-loops

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

标签 统计

automation ×1

bash ×1

c ×1

c++ ×1

cron ×1

linux ×1

memcpy ×1

nested-loops ×1

opc ×1

performance ×1

python ×1