Articles of 服务

Windows服务产生的进程比GUI产生的进程慢3至4倍

我用Borland C ++编写了一个服务应用程序。 它工作正常。 在ServiceStart(TService * Sender,bool&Started)例程中,我调用mjwinrun来启动一个进程来处理macros。 这个过程没有用户界面,任何错误logging到一个文件。 它将继续运行,直到服务器重新启动,closures或使用任务pipe理器终止进程。 这是mjwinrun: – int mjwinrun(AnsiString cmd) { STARTUPINFO mjstupinf; PROCESS_INFORMATION mjprcinf; memset(&mjstupinf,0,sizeof(STARTUPINFO)); mjstupinf.cb=sizeof(STARTUPINFO); if (!CreateProcess(NULL,cmd.c_str(),NULL,NULL,TRUE,0,NULL,GetCurrentDir().c_str(),&mjstupinf,&mjprcinf)) { LogMessage("Could not launch "+cmd); return -1; } CloseHandle(mjprcinf.hThread); CloseHandle(mjprcinf.hProcess); return mjprcinf.dwProcessId; } cmd是启动macros队列处理器的命令行。 我使用了一个CPU /内存密集型的macros,并将它的时序写入文件。 这是我发现的: 1)如果在login会话中从命令行启动macros处理器,则无论运行的是哪个Windows核心,macros都将在6秒内完成。 2)如果macros处理器是从Vista核心或更低版本(使用上面的mjwinrun)启动的服务启动的,则macros在6秒内完成。 3)如果macros处理器是从在Windows 7内核或更高版本上启动的服务(使用上面的mjwinrun)启动的,则macros将在超过18秒内完成。 我已经尝试了CreateProcess的所有不同的标志,没有一个有所作为。 我已经尝试了所有不同的服务帐户,这没有任何区别。 我尝试设置任务,I / O和Page的各种优先级,但都没有区别。 就好像这个服务的产生的进程在某种程度上受到了限制,而不是以I / O方式,而是在CPU /内存使用方面。 任何想法在Windows 7以后发生了什么变化?

WCF作为服务托pipe

我有一个VB.NET WCF服务作为一个窗口服务托pipe。 我能够创build一个安装包,将服务安装到我的机器上,然后从“pipe理工具”中的“服务”手动启动服务。 现在,当我尝试在我的testing控制台应用程序(地址: http:// localhost:8080 / )中引用服务时,出现以下错误: 下载“http:// localhost:8080”时出错 无法连接到远程服务器由于目标机器主动拒绝它127.0.0.1:8080`,因此无法build立连接 元数据包含无法parsing的引用:“http:// localhost:8080 /”。 无法连接到http:// localhost:8080 / 。 TCP错误代码10061:由于目标机器主动拒绝127.0.0.1:8080,所以无法build立连接。 无法连接到远程服务器由于目标机器主动拒绝,无法build立连接127.0.0.1:8080如果在当前解决scheme中定义了服务,请尝试构build解决scheme并重新添加服务引用。 不知道我能做些什么。 有任何想法吗??? 谢谢,杰森。 以下是我的服务中app.config的代码: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <sources> <!– This section defines the logging configuration for My.Application.Log –> <source name="DefaultSource" switchName="DefaultSwitch"> <listeners> <add name="FileLog"/> <!– Uncomment the below section to write to […]

Windows服务需要等待,Thread.Sleep?

我有交stream#窗口服务,需要每60秒执行一次数据库查询(或任何间隔在configuration文件中设置)。 我在一个while循环中使用Thread.sleep(60)来完成这个任务。 有一个更好的方法吗? 谢谢

用户input不是在CentOS7中使用systemctl或服务命令

我试图使用systemctl或服务命令来停止系统服务。 该命令如下 systemctl start service_name or service service_name start 在这种停止方法中,要求用户input不在控制台上显示的密码(怀疑在后台运行)。 停止方法如下 stop() { read -s -p "Please provide password to stop the service" passwd } 在CentOS 6中使用服务命令也一样,它在控制台上显示并input。 任何人都可以请build议我,我错过了这里提示或如何可以提示用户使用systemctlinput。

Linux服务无法加载/etc/ld.so.conf.d中的库path

我在Linux有一个服务。 当我启动它使用服务启动或init.d启动。 它不能加载存储在/etc/ld.so.conf.d/中的configuration。 因此,在/etc/ld.so.conf.d/中加载库path的一些过程。 不能通过此服务启动。 但是当我在shell中运行这个servcie脚本时,它工作正常。 如何在/etc/ld.so.conf.d/中加载库path? 非常感谢。

如何检查JBoss是否在Unix服务器上运行?

我有一个脚本下面,我想回声“jboss不运行”或“jboss运行”取决于它是否可以在进程列表中findjboss进程。 但是,当我closuresJboss的时候,它仍然执行Else条件,并且说“jboss正在运行”。 如果我手动执行“pgrep -f jboss”,它不会返回任何东西,那么为什么它仍然会进入其他条件? 困惑 #!/bin/bash if [ -z "$(pgrep -f jboss)" ] then echo "jboss is not running" else echo "jboss is running" fi 谢谢你的帮助!

Linux:如何使一个守护进程/服务与xinetd一起使用?

任何人都知道服务器使用xinetd需要进行哪些更改? 服务器是在Linux上运行的.NET邮件服务器。 看到这篇文章的底部作为参考: Lumisoft邮件服务器论坛post 注意:xinetd,不是单一服务。 [x] inetd是一个互联网超级服务器。 超级服务器按需启动服务器服务。 (而不是服务器服务连续运行,这是单一服务)

ASP.NET核心RC2作为linux deamon

我需要关于networking核心控制台或asp.net应用程序作为linux deamon的托pipe信息。 主机应用程序作为Windows服务已经由Microsoft.Hosting.WindowsService支持,但我需要类似的Linux deamons。

我如何configurationsystemd服务来定期重启?

我有一个简单的系统服务,需要定期重新启动,以防止它的进程被窃听。 是否有systemd服务的configuration选项来定期重新启动它们? 所有Restart*选项似乎都与退出时重新启动服务有关。

制作Linux Web服务的最佳方式是什么?

我有一台运行Ubuntu Linux Server Edition的服务器。 我曾经有一个Windows Server,并且很容易在Windows上使用ASP.net创buildWeb服务。 另一方面,Linux支持使用Mono的ASP.net,但并不像Windows那样全function。 那么,在linux服务器上创buildxml web服务的最好方法是什么? 谢谢