科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件应用程序重起自身等几则技巧

应用程序重起自身等几则技巧

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

应用程序重起自身等几则技巧。

作者:李先静 来源:CSDN 2008年3月22日

关键字: C C++ 应用程序 技巧 Linux

  • 评论
  • 分享微博
  • 分享邮件

1.         应用程序重起自身。

以前开发一个服务器软件,当通过客户端工具修改某些设置后,服务器要重新重动自己。当时竟想不出什么好办法,只好开了两个进程,子进程为工作进程,父进程为监视进程,子进程退出时,父进程再重起子进程。今天在busybox里发现一种最简单的重起方法:

int main(int argc, char* argv[])

{

    sleep(2);

 

    printf("%s %s\n", argv[0], argv[1]);

    fflush(stdout);

 

    execv(argv[0], argv);

 

    return 0;

}

 

2.         printf打印long long整数。

几天前为了用printf打印出long long的整数,不得不去查看glibc的源代码,这里记个笔记吧。

#include <stdio.h>

 

int main(int argc, char argv[])

{

    long long val = 0;

 

    sscanf("0x1122334455667788", "0x%Lx", &val);

    printf("val = 0x%Lx\n", val);

 

    sscanf("1122334455667788", "%Ld", &val);

    printf("val = %Ld\n", val);

 

    return 0;

}

 

3.         Win32的电源管理函数。

前段时间在研究linux下的电源管理,本来想看看win32下的电源管理,一直没有时间。今天群里有网友问Win32下如何让系统休眠,在MSDN里查了一下,找到了一个电源管理函数,记在这里吧,有时间再看看相关资料。

 

BOOL SetSystemPowerState(

  BOOL fSuspend,  // system state

  BOOL fForce     // forced suspension option

);

  Windows NT/2000: Requires Windows 2000.

  Windows 95/98: Requires Windows 95 or later.

  Header: Declared in Winbase.h; include Windows.h.

  Library: Use Kernel32.lib.

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章