用于永久改变xeyes中心颜色的c代码(终端)

时间:2010-07-13 22:38:12

标签: c terminal process x11

我正在尝试编写一个打开xeyes应用程序的c代码,然后那些眼睛会在特定的时间内不断改变它的颜色。

我尝试通过执行具有一种中心颜色的xeyes,添加3秒的延迟,终止进程,以及在循环内打开具有其他中心颜色的xeyes等来实现此目的。

然而,在执行此代码时,第一个xeyes进程不会被杀死,并且以下进程不会执行。

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

原因是您正在使用system()命令,该命令等待xeyes关闭。这种情况永远不会发生,因此您的代码永远不会执行第一个系统命令。

您可以通过键入

找到有关您正在使用的功能的更多信息
man system

在命令行上。

答案 1 :(得分:0)

我不会用C来做这件事。你最好使用shell脚本在后台启动xeyes,休眠,然后杀死它并再次启动它。它可能大约有5行。

也就是说,为了让计时器在xeyes运行时而不是在关闭之后运行,你需要分离你的xeyes进程并运行等待在单独进程中终止它的计时器。您可能想要查看spawn.h中的函数。