type=page
status=published
title=list-managed-scheduled-executor-services
next=list-managed-thread-factories.html
prev=list-managed-executor-services.html
~~~~~~

list-managed-scheduled-executor-services
========================================

[[list-managed-scheduled-executor-services-1]][[GSRFM873]][[list-managed-scheduled-executor-services]]

list-managed-scheduled-executor-services
----------------------------------------

Lists managed scheduled executor service resources

[[sthref1661]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-managed-scheduled-executor-services [--help]
[target]
----

[[sthref1662]]

=== Description

The `list-managed-scheduled-executor-services` subcommand lists managed
scheduled executor service resources.

This subcommand is supported in remote mode only.

[[sthref1663]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.

[[sthref1664]]

=== Operands

target::
  Specifies the target for which managed scheduled executor service
  resources are to be listed. Valid targets are:

  `server`;;
    Lists the resources on the default server instance. This is the
    default value.
  `domain`;;
    Lists the resources for the domain.
  cluster-name;;
    Lists the resources on all server instances in the specified
    cluster.
  instance-name;;
    Lists the resources on a specified server instance.

[[sthref1665]]

=== Examples

[[GSRFM874]][[sthref1666]]

==== Example 1   Listing Managed Scheduled Executor Service Resources

This example lists managed scheduled executor service resources on the
default server instance.

[source]
----
asadmin> list-managed-scheduled-executor-services
concurrent/__defaultManagedScheduledExecutorService
concurrent/myScheduledExecutor1
concurrent/myScheduledExecutor2
Command list-managed-scheduled-executor-services executed successfully.
----

[[sthref1667]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1668]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-managed-scheduled-executor-service.html#create-managed-scheduled-executor-service-1[`create-managed-scheduled-executor-service`(1)],
link:delete-managed-scheduled-executor-service.html#delete-managed-scheduled-executor-service-1[`delete-managed-scheduled-executor-service`(1)]


