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

王朝other·作者佚名  2006-12-08
窄屏简体版  字體: |||超大  

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

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.

~~end~~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航