小编pra*_*tri的帖子

linux中的PATH环境变量

我想知道如何自动设置linux OS提供的标准环境变量,如PATH,HOME.这些文件是从哪个文件中读取的.当特定用户登录时,应该有一些文件可以从中设置这些变量.

linux environment-variables

4
推荐指数
1
解决办法
2万
查看次数

使用每小时指标查找每日指标的 Graphite 聚合规则

我在编写用于绘制每日指标的聚合规则时遇到了问题。我有两台服务器正在发送度量名称作为

production.email.server_1.total_emails_sent.1h.sum production.email.server_2.total_emails_sent.1h.sum

他们每小时发送一次此指标。我可以通过添加聚合规则来找到这两个指标的总和,如下所示:

production.email.all.1h.sum (3600) = sum production.email.*.1h.sum

现在我必须使用相同的每小时指标来计算每天的总和。我想要一个名为的指标

production.email.server_1.total_emails_sent.1d.sum

我可以通过对production.email.server_1.total_emails_sent.1h.sum过去 24 小时的指标求和来找到。我怎样才能找到这个指标?

logging graphite

4
推荐指数
1
解决办法
7629
查看次数

程序的执行顺序

我有一个关于执行以下程序的问题.

#include<stdio.h>

int main(void)  
{    
    char *p="hey friends",*p1;  
    p1=p;  
    while(*p!='\0')  
    {  
        p++;  
        printf("\n%p",p);  
    }  
    printf("%s %s",p,p1);  
    sleep(100);  
}  
Run Code Online (Sandbox Code Playgroud)

当我运行以下时,它输出如下输出:

0x8048521  
0x8048522  
0x8048523  
0x8048524  
0x8048525  
0x8048526  
0x8048527  
0x8048528  
0x8048529  
0x804852a  
Run Code Online (Sandbox Code Playgroud)

然后100秒后打印"0x804852b嘿朋友".虽然声明:printf("%s%s",p,p1); 在睡眠声明之前那么为什么它在睡觉之前不打印而且它再打印一个地址意味着它再次进入循环.有人可以解释一下上述程序的工作原理.它是否与printf函数的缓冲区有关?

c

2
推荐指数
1
解决办法
691
查看次数

struct buffer_head效率低下

谁能说出直到Linux内核2.4之前使用的struct buffer_head结构效率低下的原因,以及从内核2.5.1重新设计的新块层中使用的struct bio结构中实现了哪些内容的原因?

linux operating-system kernel block

2
推荐指数
1
解决办法
1439
查看次数

C中的悬空指针

我在C中编写了一个悬挂指针的程序.

#include<stdio.h>

int *func(void)
{
    int num;
    num = 100;
    return &num;
}

int func1(void)
{
    int x,y,z;
    scanf("%d %d",&y,&z);
    x=y+z;
    return x;
}

int main(void)
{
    int *a = func();
    int b;
    b = func1();
    printf("%d\n",*a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

即使指针悬空,我输出为100.

我在上面的函数中做了一个改动func1().现在我在编译期间分配值,yz不是像上面的程序那样从标准输入中获取和从中获取值.

我重新定义func1()如下:

int func1(void)
{
    int x,y,z;
    y=100;
    z=100;
    x=y+z;
    return x;
}
Run Code Online (Sandbox Code Playgroud)

现在输出是200.

有人可以解释一下上述两项产出的原因吗?

c pointers dangling-pointer

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

firefox扩展开发

我是firefox扩展开发的新手.有人可以告诉我我应该知道的语言以及需要在我的Windows机器上安装的工具.

如果你能给我一些很好的教程链接,对我来说真的很有帮助.

firefox firefox-addon

1
推荐指数
2
解决办法
1280
查看次数

一个班轮贝壳脚本

有人可以告诉我一个命令,它可以重命名目录下的所有文件,其形式为test.c到test.cc,而不使用管道和重定向.

我编写了一个shell脚本,其中包含一个循环并执行相同的工作:

for i in *.c;
do
mv $i ${i%c}cc
done

linux shell

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