Task Scheduler 介绍

简介:
Task Scheduler 的描叙:使用户可以在此计算机上配置和计划自动任务,此服务还托管多个Windows系统关键任务。如果此服务被停止或禁用,这些任务将无法再按计划的时 间运行。如果此服务被禁用,则明确依赖它的所有服务将无法启动。这个命令有点类似于Linux下的crontab 等后台命令。可以通过它在Window 平台自动备份数据库等任务。这个命令依赖于Remote Procedure Call(RPC)系统组件(Windows XP/2000/2003下), 在VISTA、WIN7下必须依赖Remote Procedure Call(RPC)、Windows Event Log两个系统组件。
启动Task Scheduler(Win2003下)
1:你可以在开始菜单——运行里面输入:services.msc 命令进入服务窗口,亦可以通过控制面板——管理工具——服务,进入服务,
   手动对Task Scheduler服务进行启动。

 

2:也可以通过命令形式启用服务。 

 

用dos打开task scheduler服务:sc start schedule 。schedule是服务名称,而Task Scheduler是显示名称。

 

停止Task Scheduler(Window 2003下)
   1:你可以在开始菜单——运行里面输入:services.msc 命令进入服务窗口,亦可以通过控制面板——管理工具——服务,进入服务,

   手动对Task Scheduler服务进行停止。 

 

  2:也可以通过命令形式停止服务。(Windows 2003)

 

【注意】在WIN7 和 VISTA下Task Scheduler该服务无法被禁用。如果此服务被禁用,任何依赖它的服务将无法启动。已经不单是以前操作系统的计划任务调度管理器了

 

查看Task Scheduler服务状态

直接通过上面的服务窗口查看,可以用命令:sc query schedule查看 

 

创建Task Scheduler服务
sc create Schedule binPath=  "%SystemRoot%\System32\svchost.exe -k netsvcs" type= share start= auto displayname= "Task Scheduler" depend= RpcSs

 

不过我在删除该服务后,运行上面命令后,启动task scheduler服务时出现错误2:系统找不到指定的文件。折腾了很久,网上也搜索了很多资料,依然没有解决问题,不知道哪位同仁解决过此类问题。 

 

删除Task Scheduler服务

使用命令 sc delete schedule 删除Task Scheduler服务(Window 2003下)。一般建议先停止服务,然后使用删除命令。 

 

执行后可以看见Task Scheduler服务变成禁用状态了。

 

 Windows 7 下执行结果如下: 

 

SCHTASKS /parameter [arguments] 
描述: schtasks.exe是安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。
    允许管理员创建、删除、查询、更改、运行和中止
    本地或远程系统上的计划系统。替代 AT.exe。
参数列表:
    /Create         创建新计划任务。
    /Delete         删除计划任务。
    /Query          显示所有计划任务。
    /Change         更改计划任务属性。
    /Run            立即运行计划任务。
    /End            中止当前正在运行的计划任务。
    /?              显示帮助/用法。
示例:
    SCHTASKS 
    SCHTASKS /?
    SCHTASKS /Run /?
    SCHTASKS /End /?
    SCHTASKS /Create /?
    SCHTASKS /Delete /?
    SCHTASKS /Query  /?
    SCHTASKS /Change /?
sc命令详解,可以在dos下面直接输入sc,即可得到sc命令的帮助文档,各种详细参数配置。如下所示:
C:\Documents and Settings\Administrator>sc
描述:
        SC 是用于与
        服务控制管理器和服务进行通信的命令行程序。
用法:
        sc <server> [command] [service name] <option1> <option2>...
        选项 <server> 的格式为 "\\ServerName"
        可以键入 "sc [command]" 以获得命令的进一步帮助
        命令:
          query-----------查询服务的状态, 或
                          枚举服务类型的状态。
          queryex---------查询服务的扩展状态, 或
                          枚举服务类型的状态。
          start-----------启动服务。
          pause-----------向服务发送 PAUSE 控制请求。
          interrogate-----向服务发送 INTERROGATE 控制请求。
          continue--------向服务发送 CONTINUE 控制请求。
          stop------------向服务发送 STOP 请求。
          config----------更改服务的配置(永久)。
          description-----更改服务的描述。
          failure---------更改服务失败时所进行的操作。
          sidtype---------更改服务的服务 SID 类型。
          qc--------------查询服务的配置信息。
          qdescription----查询服务的描述。
          qfailure--------查询服务失败时所进行的操作。
          qsidtype--------查询服务的服务 SID 类型。
          delete----------(从注册表)删除服务。
          create----------创建服务(将其添加到注册表)。
          control---------向服务发送控制。
          sdshow----------显示服务的安全描述符。
          sdset-----------设置服务的安全描述符。
          showsid---------显示与
                          任意名称相对应的服务 SID 字符串。
          GetDisplayName--获取服务的 DisplayName。
          GetKeyName------获取服务的 ServiceKeyName。
          EnumDepend------枚举服务的依存关系。
        下列命令不要求服务名称:
        sc <server> <command> <option>
          boot------------(ok | bad) 表明是否将最后一次启动
                          保存为最后一次的正确启动配置
          Lock------------锁定服务数据库
          QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
        sc start MyService
是否要查看 QUERY 和 QUERYEX 命令的帮助? [ y | n ]:
y
QUERY 和 QUERYEX 选项:
        如果查询命令带服务名称,将返回
        该服务的状态。其他选项不适合这种
        情况。如果查询命令不带参数或
        带下列选项之一,将枚举此服务。
    type=    要枚举的服务的类型(driver, service, all)
             默认 = service)
    state=   要枚举的服务的状态 (inactive, all)
             (默认 = active)\n"
    bufsize= 枚举缓冲区的大小(以字节计)
             (默认 = 4096)
    ri=      开始枚举的恢复索引号\n"
             (默认 = 0)
    group=   要枚举的服务组
             (默认 = all groups)
句法示例
sc query                - 枚举活动服务和驱动程序的状态
sc query messenger      - 显示信使服务的状态
sc queryex messenger    - 显示信使服务的扩展状态
sc query type= driver   - 仅枚举活动驱动程序
sc query type= service  - 仅枚举 Win32 服务
sc query state= all     - 枚举所有服务和驱动程序
sc query bufsize= 50    - 枚举缓冲区为 50 字节
sc query ri= 14         - 枚举时恢复索引 = 14
sc queryex group= \"\"  - 枚举不在组内的活动服务
sc query type= service type= interact - 枚举所有不活动服务
sc query type= driver group= NDIS     - 枚举所有 NDIS 驱动程序
相关文章
|
7月前
|
调度 Apache
airflow scheduler -D 是什么作用
【6月更文挑战第30天】airflow scheduler -D 是什么作用
119 1
|
8月前
|
资源调度 Java
在SchedulerX中,你可以使用`schedulerx.submitTask(taskName)`方法来提交并执行单个任务
【1月更文挑战第7天】【1月更文挑战第34篇】在SchedulerX中,你可以使用`schedulerx.submitTask(taskName)`方法来提交并执行单个任务
71 1
|
6月前
|
SQL 开发框架 安全
【译】You probably should stop using a custom TaskScheduler
以更明确的方式控制并发 我认为并发控制(又称速率限制)是应用程序非常重要的方面,重要的方面应该是明确的。 TaskScheduler 相当低级别的工具,我宁愿拥有更高级别的工具。如果工作是 CPU 密集型的,那么 PLINQ 或类似 ActionBlock TPL DataFlow 的东西可能是更好的选择。 如果工作主要是 IO 绑定和异步的,那么可以使用 Parallel.ForEachAsync 或 Polly.RateLimiting 基于 的 SemaphoreSlim 自定义帮助程序类。 结论
57 3
|
7月前
|
Kubernetes 监控 调度
K8S中Scheduler原理分析
【6月更文挑战第20天】K8S Scheduler是集群的关键组件,它监听API Server,为新Pod选择合适的Node。
|
8月前
|
资源调度
在SchedulerX中,你可以使用`schedulerx.output()`函数来向Worker报告运行结果
【1月更文挑战第7天】【1月更文挑战第35篇】在SchedulerX中,你可以使用`schedulerx.output()`函数来向Worker报告运行结果
55 1
|
8月前
|
资源调度 分布式计算 算法
Gang Scheduling
Gang Scheduling(Coscheduling)、FIFO Scheduling、Capacity Scheduling、Fair sharing、Binpack/Spread等是云计算和分布式系统中的任务调度算法,用于在资源有限的情况下,公平、高效地分配任务和资源。下面是这些调度算法的基本介绍和如何在实际应用中使用它们的一些建议:
313 2
|
NoSQL Redis
@Scheduled的使用
@Scheduled的使用
59 0
|
Java 调度
Leetcode-Medium 621. Task Scheduler
Leetcode-Medium 621. Task Scheduler
118 0
Leetcode-Medium 621. Task Scheduler