windows中后台启动服务是怎样设置的
你首先要知道这个后台服务的程序名,然后呢,把这个程序加入任务计划就行啦。
加入任务计划方法:打开“我的电脑”“控制面板”“任务计划”,出现一个对话框,在对话框内按提示一步一步进行操作,其中有一步要求你输入程序名。所以你必须知道准备自启动的服务程序名。
知道如何操作了。
上述方法只适用于开机启动。但你要定时启动,你必须自己编写一个DOS小程序。
然后放在记事本中保存,并放在任务计划中,随时启动。这样就可以根据你编写的程序运行了。
具体关于程序,你上网找DOS命令一览表。自己学习一下。
还有一个办法,借助于其他软件:
你到网上去下载个定时开关机软件,这样的软件可以设置定时打开或关闭某人程序和定时开机与关机。
就说到此,应该没问题了吧。
系统服务和后台服务的优化 Windows启动时加载的东西太多:硬件的驱动、虚拟设备的程序、太多的后台服务,如果再加上一些无关紧要的程序,唉,能不慢吗。还是把不是很必要的启动项给关了吧。 (1)看看你“开始”——“所有程序”——“启动”里面有东西吗?把它删了吧。 (2)点击“开始”——“运行”打开“运行”对话框,在里面输入“msconfig”(不包括外面的双引号),点“确定”打开“系统配置实用程序”,点“启动”打开“启动”对话框,看到了吧,把没必要的启动项前面的勾点掉吧(除了微软系统的文字输入法控制和杀毒软件、防火墙其他的都可以不选,当然一些主题的特效小程序或者其他你愿意让他自动启动的程序你也可以保留,看你自己来衡量了)。最后点“确定”退出。 十五、管理一下“日志”文件,这也是尽最大努力节省系统盘空间。 在桌面上右击“我的电脑”——“属性”——“管理”点“事件查看器”前面的“+”展开它,右击“应用程序”点选“属性”——“常规”,在“日志大小”下面有“最大日志文件大小(M)”后面的小对话框的右面点向下的箭头,把数值改小点吧,个人认为4百至K6百K就够用了,当然如果你不经常看这个日志可以再小点;下面点选“改写久于(V)”在右边与上面方法类似,调成7天可以了。“事件查看器”中的“安全性”和“系统”两个日志文件,参考“应用程序”的改动方法做修改。 十六、去掉任务栏里的“过去的项目” : 在Windows XP系统任务栏上单击鼠标右键选择“属性”,在“任务栏”的“通知区域”中勾选“隐藏不活动的图标”,再点“自定义”,会弹出一个对话框,里面有“当前项目”和“过去的项目”,该如何才能删掉过去项目中的所有记录呢? 打开注册表编辑器,定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ EXPlorer\TrayNotify,删除右边的IconStreams和PastIconsStream,然后打开任务管理器,切换到进程选项卡,找到并选择EXPlorerexe进程,点击“结束进程”,然后点击任务管理器的“文件→运行”,输入eXPlorer,点击确定即可。 十七、关于后台服务的优化: 这个本人不打算多说,给大家上传一个系统服务优化的软件,自己去衡量吧,毕竟每个人用电脑干的事情不一样。 十八、为IRQ中断请求排优先次序:(这一项是在网上复制下来的,既然那么说了,我想肯定有用吧,反正我是照着这个改了,你嫌麻烦也可以不改的,也许影响不大。) 这是一项非常有效的优化。计算机的每一个主要部件都设了个IRQ中断号。这里就是要通过修改每个IRQ请求的优先次序达到优化目的。这里主要的优化对象是系统/CMOS实时钟,它通过主板来提升性能。首先,要确定你想要哪个组件获得更高的性能,然后找到这个硬件正在使用的IRQ中断号。怎么找呢?打开控制面板里的系统属性(也可以按键盘上的Windows+Break热键组合打开它)。选中“硬件”选项卡,然后点击“设备管理器”按钮。右键点击要查IRQ号的组件,选择“属性”,然后点击 “资源”选项卡。这里可以看到设备正在使用的IRQ中断号(如果没有IRQ中断号,选择另一个设备)。把中断号记下来,然后运行注册表编辑器regedit,找到注册表中的HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl 位置。我们要在这里建立一个名为IRQ#Priority(其中“#”是具体的IRQ中断号)的DWORD双字节值,然后把它的值设为1。譬如说,我的系统CMOS实时钟的IRQ中断号是8,我要建立的键名就是IRQ8Priority。重新启动计算机之后,就会发现刚优化过的组件性能有所提高。笔者强烈建议用这个方法优化系统CMOS实时钟,因为它能改善整块主板的性能。当然也可以把多个IRQ中断号优先级提高,但这样做的效果没那么好,而且有可能造成系统不稳定。要把这个优化设置撤消的话,只要把刚才建立的注册表键值删掉就OK了。 花了几个小时把自己平时用的所谓的优化方式写了下来,当然我不知道有没有漏下的,有的话以后我想起来了再补上,不过已经够多了哈。别嫌多,对你的电脑准有用! 这只是经过个人实践以及参照网上的经验总结出来的,只是写出来给大家看看,至于用不用那就看你自己了。电脑优化这个问题,怎么说呢?你想经过优化让自己的电脑性能有多么大的提高那是不可能的,毕竟我们这些平民的电脑只能算是下等,你想让它提高到哪去呢?所以所谓优化就是去掉一些自己不会用到的东西和一些垃圾罢了,别自己心爱的电脑天天在被折磨自己还不知道。 如果说上面的优化见效最明显的是什么?那当然是开机速度了,嘿嘿,你不是想让滚动条少转吗?那就如你所愿吧! 中间略了点,不过也可以让你的电脑飞起来了!
有些时候,我们需要在终端启动一个程序,并使之运行——但是如果关闭终端,那么这个程序也就随着关闭了。那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?有以下方法
1让linux忽略终端的hung up 信号,不关闭进程;
2让此进程变为终端的非子进程。
方法一:
在终端输入命令:
# /pso > psofile 2>&1 &
解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的psofile文件中。
当客户端关机后重新登陆服务器后,直接查看psofile文件就可看执行结果(命
令:#cat psofile )。
或者 在终端输入命令:
# nohup /pso > psofile 2>&1 &
解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前
目录下的psofile文件中。当客户端关机后重新登陆服务器后,直接查看psofile
文件就可看执行结果(命令:#cat psofile )。
方法二:
实现方案就是nohup命令。
例如要启动jboss,可以nohup /runsh &。这样就可以了,结尾的“&”符号表示后台启动jboss,从而不影响继续运行其他命令。
但这样有一个问题,nohup命令虽然可以让linux“放过”这个进程,但是nohup会同时把进程的控制台输出重定向到nohuptxt下(默认是这个文件),当然可以重定向为其他的文件,但是输出总会有的。
如果jboss运行很长时间,而且如果有很多控制台输出的话,nohuptxt文件就会变的很大很大。
通常项目中的日志都会输出到特定的日志文件或者输出到 数据库 中,也就是说控制台的输出对于程序的意义不大,那么可不可以抛弃掉这些输出呢?答案是肯定的。
这里讲解一下linux的重定向(注意,是linux的重定向,不是针对nohup)。
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,既1当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:/program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。
结合nohup,我们可以这样 nohup /runsh >/dev/null &
这是最简单的一种方式,既保证了程序能够一直后台执行,又能保证不会产生太大的nohuptxt文件。
方法三:
利用的linux的一个机制,让程序在subshell中执行,方法很简单,将命令用括号() 括起来即可。
ps -ef | grep test
可以看到runsh的父进程为1,不是当前终端了,这样就能忽略hung up信号。
当然linux还可以动态的让程序后台运行或不被hung up 信号关闭,例如disown命令,setid命令等。
方法四:
如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。
对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。
通常情况下,你可以在终端里面直接输入应用程序名来启动一个应用程序。比如说,你可以通过输入“firefox”来启动Firefox。
在终端启动应用程序的好处是,你可以包含一些额外的参数。
例如,你可以通过下列命令来打开一个Firefox浏览窗口,然后利用默认的搜索引擎搜索相关信息:
firefox -search "linuxcn"
你可能会注意到,如果你启动Firefox,程序打开以后,回到了终端窗口控制,这就意味着你可以继续在终端进行工作。
通常情况下,如果你在终端启动了应用程序,控制会切换到新启动的应用程序,只有程序被关闭以后才会重新切换到终端控制。这是因为你在前台启动了这个程序。
如果要在Linux终端打开应用程序并且返回终端控制,那么你需要将应用程序启动为后台进程。
和下面所列的命令一样,我们可以通过增加一个(&)符号,将应用程序在后台启动。
libreoffice &
译者注:如果需要加参数的话,记得把&符号放在最后。
译者注:一般情况下,关闭终端时,在这个终端启动的后台程序也会被终止,要使终端关闭以后,后台程序依然保持执行可以使用下列命令
nohup command [arg] &
如果应用程序目录没有安装在PATH变量包含的目录里面的话,我们就没有办法直接通过应用程序名来启动程序,必须输入应用程序的整个路径来启动它。
/path/to/yourprogram &
如果你不确定程序输入哪个Linux目录结构的话,可以使用find或者location命令来定位它。
可以输入下列符号来找到一个文件:
find /path/to/start/from -name programname
例如,你可以输入下列命令来找到Firefox:
find / -name firefox
命令运行的结果会嗖的一下输出一大堆,别担心,你也可以通过less或者more来进行分页查看。
find / -name firefox | more find / -name firefox | less
当find命令查找到没有权限访问的文件夹时,会报出一条拒绝访问错误,
你可以通过sudo命令来提示权限。当然,如果你没有安装sudo的话,就只能切换到一个拥有权限的用户了。
sudo find / -name firefox | more
如果你知道你要查找的文件在你的当前目录结构中,那么你可以使用点来代替斜杠:
sudo find -name firefox | more
你可能需要sudo来提升权限,也可能根本就不需要,如果这个文件在你的主目录里面,那么就不需要使用sudo。
有些应用程序则必须要提升权限才能运行,否则你就会得到一大堆拒绝访问错误,除非你使用一个具有权限的用户或者使用sudo提升权限。
这里有个小窍门。如果你运行了一个程序,但是它需要提升权限来操作,输入下面命令试试:
sudo !!
方法五:
在Unix/Linux下如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。(命令后可以不追加空格)
打开gnome-terminal,执行如下命令:
delectate@delectate:~$ totem &[1] 8510delectate@delectate:~$ 有几点需要注意:
已经启动的程序依然attach于当前pts,只有当前终端模拟器关闭(使用exit命令退出),进程自动被tty继承。delectate@delectate:~$ ps -e | grep totem //程序已被以totem & 形式启动,当前附在pts0上8819 pts/0 00:00:00 totemdelectate@delectate:~$ ps -e | grep totem //pts0的模拟终端被exit命令关闭,totem自动附在tty8819 00:00:00 totemdelectate@delectate:~$
具有debug输出的进程,需要按enter键进行中断当前debug输出。但是如果程序持续进行printf,你将无法输入任何命令。delectate@delectate:~$ vlc &[1] 8850delectate@delectate:~$ VLC media player 106 Goldeneye[0x8b998b0] main libvlc: Running vlc with the default interface Use ‘cvlc’ to use vlc without interface //enter presseddelectate@delectate:~$ //show a clean terminal now (:8850): CRITICAL : giop_thread_request_push: assertion `tdata != NULL’ failed //仍然在输出数据…… //关闭程序[1]+ Done vlcdelectate@delectate:~$
你无法记录程序的debug输出结果。
只有当虚拟终端是 $ 或者 # 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #)
使用nohup命令:
nohup描述:Run COMMAND, ignoring hangup signals(忽略任何中断/挂起信号,使命令继续执行)
但是当你尝试使用命令:
1nohup command
时候却会遇到不大不小的麻烦……
delectate@delectate:~$ nohup vlcnohup: ignoring input and appending output to `nohupout’
是的,虽然它自动把debug信息记录到nohupout文件,但是你却无法使用这个终端进行任何操作。
所以你需要和第一个方法混用,即
nohupcommand {option}&
混用后,它会自动把你执行的命令输出结果记录到权限为-rw——-,名为nohupout的文件中。
但是你仍然需要
delectate@delectate:~$ nohup vlc &[1] 9045delectate@delectate:~$ nohup: ignoring input and appending output to `nohupout’ //在这里按一下回车或以ctrl+c以 //show a clean terminal delectate@delectate:~$
与使用 “&” 性质相同,当前启动程序的终端如果没有被关闭,已经启动的程序附在pst上;如果终端被关闭,则自动附在tty。
如果当前目录的 nohupout 文件不可写,输出重定向到 $HOME/nohupout。默认状态下,nohup默认输出到nohupout文件,你也可以利用重定向来指定输出文件:
nohupcommand {option} > myoutfile 2>&1 &
只有当虚拟终端是 $ 或者 # 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #)
其他相关命令:
jobs:查看当前有多少在后台运行的命令
fg:将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
bg:将一个在后台暂停的命令,变成继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
杀死进程
杀死已经启动的程序和普通方式一样:
pkill -9 name
killall name
kill pid
…
命令应用:
linux服务器挂机下载;启动相关服务;linux服务器启动进程(尤其是ssh登录)
我就曾经用 1nohup aria2c -i downloadlist -m 0 -j 1 &
0条评论