Linux下的服务程序开发库kylin 2.0 centos5.4 i686.zip
// kylin 2.0.1.1 (build 2010.07.28) #include "stdio.h" #include "KYLin.h" // 启动 static int DoStart(const TKYStringList& AParams, bool AIsSvc) { // 显示 if (!AIsSvc) printf("..... OnStart(IsSvc: false) is running.\n"); // ??? ... ... return 0; } // 停止 static void DoStop(bool AIsSvc) { // 显示 if (!AIsSvc) printf("..... OnStop(IsSvc: false) is running.\n"); // ??? ... ... } // 控制台方式下执行 static void DoExecute(const TKYStringList& AParams, TKYSvcApp* ASvcApp) { // 显示 printf("..... OnExecute is running.\n"); // 等待结束 printf("press [Ctrl+C] stop application.\n"); while (!ASvcApp->Terminated()) ASvcApp->Notify()->Wait(); } // 用户自定义开关 static int DoUser(long ASwitch, int argc, char* argv[]) { printf("switch(%d) is run.\n", ASwitch, argv[1]); return 0; } // 主函数 int main(int argc, char* argv[]) { // 初始化 TKYSvcApp objApp("TestSvc", "Service demo", "Test TKYSvcApp demo"); // 设置启动/停止的回调函数 objApp.OnStart = DoStart; objApp.OnStop = DoStop; // 自定义应用控制时的回调函数 /* objApp.OnExecute = DoExecute; objApp.OnUser = DoUser; //*/ // 设置对象属性 /* objApp.SetRunLevel(235); // 服务运行级别 [1, 2, 3, 4, 5] objApp.SetStartNo(20); // 服务启动序号 objApp.SetStopNo(80); // 服务停止序号 objApp.SetIsAuto(false); // 手动启动 //*/ // 自定义参数开关(注: 默认参数开关可以通过 /? 显示) /* objApp.ClearSwitchs(); objApp.AddSwitch(TKYSvcApp::asHelp, "/?", "显示帮助信息"); // 更改默认的提示信息 objApp.AddSwitch(TKYSvcApp::asHelp, "-help"); objApp.AddSwitch(TKYSvcApp::asConsole, "-console", "控制台方式运行");// 更改默认的提示信息 objApp.AddSwitch(TKYSvcApp::asService, "-service", "服务方式运行"); // 更改默认的提示信息 objApp.AddSwitch(TKYSvcApp::asInstall, "-install"); objApp.AddSwitch(TKYSvcApp::asUninstall, "-remove"); objApp.AddSwitch(TKYSvcApp::asStart, "-start"); objApp.AddSwitch(TKYSvcApp::asStop, "-stop"); ob
下载地址
用户评论