草庐IT

AT指令

全部标签

php - 我应该使用 "| at now"还是符号 (&) 在后台运行脚本?

我一直在查看有关在后台运行php脚本的答案,它们似乎以两种方式传播。有些人建议使用这个(或类似的东西):/usr/bin/phpcommand>/dev/null2>&1&其他建议使用“at”命令:echo'/usr/bin/phpcommand'|atnow这两种方法的主要区别是什么?有什么优点和缺点?我想做的是当用户提交表单时,我需要运行几分钟长的脚本,显然应该在后台运行。我已经尝试了两种方法,它们都对我有用,但我不确定该选择哪一种。 最佳答案 at命令是一个调度程序,它接受来自标准输入的字符串或包含在特定时间运行的命令的文件。

linux - Bash printf %q 指令无效

我想在我的.bashrc文件中更改我的PS1。我找到了一个使用printf和%q指令来转义字符的脚本:#!/bin/bashSTR=$(printf"%q""PS1=\u@\h:\w\$")sed-i'/PS1/c\'"$STR"~/.bashrc问题是我得到这个错误:script.sh:2:printf:%q:invaliddirective有什么想法吗?也许是另一种逃避角色的方式? 最佳答案 printf命令内置于bash中。它也是一个外部命令,通常安装在/usr/bin/printf中。在大多数Linux系统上,/usr/bi

linux - 制作文件问题: error at every line

我尝试构建某个项目的库。当我从终端将它作为./MakeFile运行时,每一行都会出现一堆错误。下面是makefile和错误。它有什么问题?对于其他项目,Makefie工作正常,所以并​​不是系统不知道如何解释这个文件。谢谢!LIBDIR=../../libIFLAGS=-I../../include-I/usr/local/includeCFLAGS=$(IFLAGS)-O3-Wunused-m32#-fPICCC=gccAR=arSRC=allocfailed.ccleanup.cECDFwd.cECDLeadField.cECDSolve.cECDSolve2.c\GetBasis

linux - 从 Linux 的核心转储中找到崩溃的汇编指令

如果我将崩溃程序和核心转储加载到gdb中,它会显示堆栈跟踪和崩溃点,如下所示。Corewasgeneratedby`./cut--output-d=:-b1,1234567890-/dev/fd/63'.ProgramterminatedwithsignalSIGSEGV,Segmentationfault.#0is_printable_field(i=1234567890)atsrc/cut.c:266266return(printable_field[n]>>(i%CHAR_BIT))&1;(gdb)bt#0is_printable_field(i=1234567890)atsrc

c++ - 工作程序在 'clean machine' 上遇到非法指令错误?

我有一个程序可以在我的开发机器上正常运行,但在“干净的机器”上测试时会产生非法指令错误,其中只复制了必要的文件。该程序由我的共享库组成,它是从C++源代码构建的,以及一个演示库用法的C包装器示例程序。在开发机器上,所有这些都是在Eclipsew/g++中构建的,调试和发布都可以正常工作。链接了许多标准库。为了测试我可能遗漏的依赖项,我将.c文件、我的库的.so文件和库的.h文件复制到全新的Linux安装中,并使用使用相同版本编译创建的简单脚本编译/链接它们Eclipse正在使用的选项。两台机器都有g++4.3.2。当我在干净的机器上运行程序时,它在打印“非法指令”后立即退出。在gdb中

linux - Linux 内核需要多少条指令来处理 arm cortex A9 上的中断?

我想估计ARMcortexA9单核处理IRQ所需的操作码数量。假设我使用Linux内核3.4,调用irq并执行irq_handler需要多少操作码? 最佳答案 您的问题与如何计算Linux的interruptlatency有关。至少您可能对中断开始之前需要多长时间感兴趣。我们将在这里忽略irqs的这方面。一种简单的方法是切换GPIO并使用示波器来测量中断。您甚至可以多次切换GPIO以查看不同阶段所花费的时间。此WindowCElink显示了测量延迟的示例。某些中断Controller(例如IMX)具有I/O多路复用模式,其中中断编号

linux - 如何将一系列 AT 命令发送到 bash 中的串口?

在Linux中,我需要将一系列AT命令发送到串行端口,例如/dev/ttyS0,在发送下一个命令之前必须等待OK回答。我可以想象做类似的事情echo'AT'>/dev/ttyS0echo'ATS0=0'>dev/ttyS0...但这不会评估该端口上设备的应答。是否有一种非常简单的方法可以在bash脚本中自动化,可能需要socat和/或的帮助microcom但没有最简单的linux系统上找不到的工具。 最佳答案 如果您安装了PPP包,您可以使用它附带的chat程序。或者你可以使用kermit。或者uucp自带的cu程序。但是用纯she

c - 快速计算 C 程序中执行的指令数的方法

有没有一种简单的方法可以快速计算执行C程序时执行的指令数(x86指令-每条指令和多少条指令)?我在x86_64GNU/Linux机器上使用gcc版本4.7.1(GCC)。 最佳答案 Linuxperf_event_open系统调用config=PERF_COUNT_HW_INSTRUCTIONS这个Linux系统调用似乎是性能事件的跨架构包装器,包括来自CPU的硬件性能计数器和来自内核的软件事件。这是一个改编自manperf_event_open页面的示例:perf_event_open.c#define_GNU_SOURCE#in

linux - 发送modem AT指令及解析结果

我想通过使用shell脚本向我的调制解调器发送AT命令并解析结果以验证是否返回OK。at=`echo-ne"AT+CFUN1=1\r\n">/dev/ttyUSB0|cat/dev/ttyUSB0`解析at1变量并提取“OK”或“ERROR”的最佳方法是什么? 最佳答案 绝对有可能向调制解调器发送AT命令并像您尝试做的那样从命令行捕获其输出,但是不能仅使用普通的bashshell脚本。这就是我编写程序atinout的原因专门用于支持您询问的场景。像下面这样测试:MODEM_DEVICE=/dev/ttyUSB0MODEM_OUTPU

linux - x86 指令格式 : "ba 0e 00 00 00" . .. "mov $0xe,%edx"

我从x86linux程序的objdump-d反汇编中得到以下行...4000b0:ba0e000000mov$0xe,%edx我试图理解机器代码“ba0e000000”如何映射到“mov$0xe,%edx”在手动移动立即数32位是:B8+rd...MOVr32,imm32即“B8”不是“BA”事实上,没有一个MOV操作码是“BA”。如果有人可以分解“ba0e000000”并逐位解释如何到达“mov$0xe,%edx”,那将是最有帮助的。 最佳答案 操作码0xba是“MOVEDX,imm32”。混淆来自IA手册在介绍指令编码时采用了太