归档 2009年12月8日

最后更新于 .

如何保证一个程序在单台服务器上只有唯一实例呢,本着简单实用的思想写了一个实现函数:

/* 判断当前进程是否已经运行 */
static bool is_running(const char* prg)
{
    const char* pid_file = ".tmp_pid";
    const char* p = strrchr(prg, '/');
    if (p)
    {
        p++;
    }
    else
    {
        p = prg;
    }
    char cmd[128] = {0};
    sprintf(cmd, "pgrep %s >%s", p, pid_file);
    system(cmd);
    std::string s;
    FILE* fp = fopen(pid_file, "r");
    if (fp == NULL)
    {
        fprintf(stderr, "ERROR: can not open ...

最后更新于 .

给第三方提供接口的时候,设计了一个传入大量id的接口,结果昨天测试发现,传入了100个ID,结果只返回55个的数据,一开始以为是API有问题,后台调试才发现,原来是URL自己截断了!
后来仔细了解了一下,原来通过GET方式请求,并传递一个过长的参数的话,IE会自动的截去超出最大长度的字符。
微软的权威解释,IE的url最大长度是2083个字节,可以用于GET传递数据的长度是2048个字节。
Maximum URL length is 2,083 characters in Internet Explorer.
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q208427

其实也比较容易解决,只要换成post请求就可以了。

转载请注明出处.https://www.vimer.cn

昨天

2009年12月7日

明天

2009年12月10日

归档