如何使用C(Linux)向所有终端发送消息?

问题描述 投票:1回答:1

我想为我的用户向所有终端发送消息。

echo -e "\nHello" > /dev/pts/1

工作正常,但

echo -e "\nHello" > /dev/pts/*

行不通

enter image description here

而我需要通过C代码来实现。

像这样。

if(fork() == 0){
            execl("echo -e '\nHello' > /dev/pts/*", NULL);
            return 0;
        }
c linux echo
1个回答
1
投票

你可以简单地使用一个bash循环。

for f in /dev/pts/*; do echo -e "\nHello" > $f; done 

另外,你应该使用 "system "来调用shell命令。

#include <stdlib.h>
void main(void) {
    system("for f in /dev/pts/*; do echo -e '\nHello' > $f; done");
}
© www.soinside.com 2019 - 2024. All rights reserved.