我在 Linux 下的 C 语言中有一个长时间运行的程序:
长跑.c
#include <stdio.h>
int main()
{
int mode=0;
int c=0;
while(1)
{
printf("\nrun @ mode %d value : %d ",mode,c );
if (c>100)
c=0;
if(mode==0)
c++;
else
c=c+2;
sleep(3);
}
return 0;
}
它会显示
run @ mode 0 value : 0
run @ mode 0 value : 1
run @ mode 0 value : 2
我需要在 C 中编写另一个程序(类似于changemode.c
),以便它可以与 通信longrun.c
并将其 mode 的值设置为其他值,以便正在运行的程序将以 2 的递增顺序显示值。
即,如果我在 x 分钟后运行程序,它将以这种模式显示:
run @ mode 0 value : nnn
run @ mode 0 value : nnn+2
run @ mode 0 value : (nnn+2)+2
我可以使用文件方法来做到这一点,changemode.c 将创建一个文件说 mode =2 然后 longrun.c 将每次打开并检查并继续。有没有其他更好的方法来解决这个问题,比如进程间通信?
如果可能的话,任何人都可以写一个changemode.c的样本吗?