标签: signals

我想从 COM 端口连续接收数据并同时写入文件

我想读取串行 COM 端口并将数据写入 LINUX 中的文件。实际上我是从其他电脑的超级终端发送数据。

问题是没有 while 循环我只能写一行。

但是使用 while(1) 循环我无法向文件写入任何内容。

否则我必须发送大文件,然后应用程序退出/终止并写入该文件。

我的应用程序应该写入数据(可能是 2 行或任何东西);之后它必须等待下一个数据。

所以请帮帮我......

这是我的代码

=========================================

    #include <termios.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <sys/signal.h>
    #include <sys/types.h>
    #include <assert.h>
    #include <string.h>
    #include <time.h>


#define BAUDRATE B115200
#define MODEMDEVICE "/dev/ttyS0"
#define _POSIX_SOURCE 1 /* POSIX compliant source */
#define FALSE 0
#define TRUE 1

volatile int STOP=FALSE;

void signal_handler_IO (int status); /* definition of signal handler */
int wait_flag=TRUE; /* TRUE while no signal received */
struct timeval …
Run Code Online (Sandbox Code Playgroud)

c linux signals serial-port

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

Windows 上什么是“异步”信号?

我正在此处阅读对 pintool 邮件列表中问题的答复。它提到异步信号的传递被延迟到 pintool 中的分析例程结束。我很好奇 Windows 中哪些异常符合异步信号的条件。

windows asynchronous signals exception seh

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

为什么我们通常会忽略 SIGCHLD

我正在研究信号并浏览此链接

https://en.wikipedia.org/wiki/Child_process#cite_note-1

这就是它所说的:“SIGCHLD 信号在子进程退出、被中断或被中断后恢复时被发送到它的父进程。默认情况下,该信号被简单地忽略”

我们有什么理由忽略 SIGCHLD。

c signals sigchld

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

在 Linux 中处理系统(命令)调用超时

我正在尝试使用 linux 的系统(cmd)执行命令(从远程服务器获取密钥)。我的问题是当远程服务器无法访问时,对于少数 IP,它只是等待而不返回,这反过来使“system()”永远挂起。我想处理这种情况。我在想一种方法让我的 system() 等待一段时间,如果命令没有返回,那么 system() 命令必须出来报告不成功的状态。

我的命令看起来像这样:

int status = system("<<<URL of the remote server>>>");
//the above command must wait for a fixed duration before coming out if no response.
Run Code Online (Sandbox Code Playgroud)

c linux shell fork signals

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

如何在python3中找到不均匀采样信号的FFT?

我有一个样本间隔(时间)不均匀的数据。我怎样才能找到信号的 FFT 并绘制它。

python signals signal-processing fft python-3.x

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

父进程可以在同一时间向所有子进程发送信号吗?

我试图找出如何在同一秒内向 3 个子进程发送信号。你能向我解释一下为什么它可能或不可能吗?

如果可能的话,你能帮我理解在 C 中使用一些代码吗kill()

c signals kill process parent-child

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

向 curreng Golang 进程发送自定义信号

我正在使用 Go 创建一个 HTTP 服务器。每当我进行数据库维护时,我希望服务器将所有流量重定向到“当前正在进行维护”页面。

目前,这是通过秘密管理页面(例如http://myhome/secret)完成的,但我想知道是否可以使用类似于 TERM 信号的信号来完成此操作,但暂时重定向而不是实际终止进程。

例如。

/home/myhome> nohup startServer &
... 
/home/myhome> changeMyServerStatus "maintenance"
Run Code Online (Sandbox Code Playgroud)

我假设会有两个可执行文件..“startServer”和“changeMyServerStatus”

所以,这类似于服务。(比如重新加载)但是,这可能吗?如果是这样,你能给我一些提示吗?

谢谢

signals http reload go server

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

戈多信号“发出”但未“接收”

我一直在尝试以这种方式从单例脚本发送信号:

if(Input.is_action_just_pressed("ui_select")):
    emit_signal("update_inventory")
    #More Code underneath - 
Run Code Online (Sandbox Code Playgroud)

我已经在显示我的库存项目的 UI 元素上声明了信号。像这样 -

signal update_inventory
Run Code Online (Sandbox Code Playgroud)

以及通过编辑器连接到它的函数的声明 -

func _on_Inventory_update_inventory():
    #My code here
Run Code Online (Sandbox Code Playgroud)

我试图理解一个类似的问题(我认为是这样?) 这里。我完全无法理解。我看到有人在里面说 - 信号是对象本地的。他们,真的吗?如果是,为什么不正常调用该函数?信号点会被打败,不是吗?

我也需要一种方法来解决信号问题。也许我没有正确配置它。我哪里错了?

如果需要,我非常乐意提供更多信息。

signals gdscript godot

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

django 在文件上传时发出 pre_save 信号

如果文件已上传/更改,我可以在pre_save或 中进行测试post_save吗?

例子:

class Item(models.Model):
  name_123 = models.CharField(max_length=255)
  photo = models.ImageField()


@receiver(pre_save, sender=Item)
def my_callback(sender, instance, *args, **kwargs):
  if NEW photo was uploaded:
    resize it;
Run Code Online (Sandbox Code Playgroud)

我不想调整图像大小,如果只有 name_123 更改,但我想在创建新项目和图像更改时调整它的大小(即使上传了具有相同文件名的相同图像。

如果我使用前端 CreateView 或类似的东西,我可以检查 form_data 是否包含文件数据,但我想在一般情况下使用它(django admin 也是)。谢谢

django signals

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

所有系统调用都在内核模式下执行吗?

标题说明了一切:)。

但是,让我扩展一个具体案例。

到目前为止,我已经研究了所有需要与硬件进行交互的系统调用(例如 read()、write() 等),因此在执行这些系统调用(陷阱指令)之前切换到内核模式是有意义的。

据我了解,信号纯粹是软件构造,这意味着它们不是由硬件直接生成的(与中断不同)。我将它们理解为进程(内核-内核、内核-用户或用户-用户进程)之间的消息传递机制。

Kill是一个系统调用,用于向进程发送信号。它不直接与硬件交互。那么为什么我们需要昂贵地切换到内核模式来执行该系统调用呢?我还没有发现任何“特殊”系统调用在开始执行之前不会陷入内核模式的证据。因此,问题。

linux operating-system signals system-calls linux-kernel

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