type=page
status=published
title=list-context-services
next=list-custom-resources.html
prev=list-containers.html
~~~~~~

= list-context-services

[[list-context-services-1]][[GSRFM865]][[list-context-services]]

== list-context-services

Lists context service resources

[[sthref1445]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-context-services [--help]
[target]
----

[[sthref1446]]

=== Description

The `list-context-services` subcommand lists context service resources.

This subcommand is supported in remote mode only.

[[sthref1447]]

=== 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.

[[sthref1448]]

=== Operands

target::
  Specifies the target for which context 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.

[[sthref1449]]

=== Examples

[[GSRFM866]][[sthref1450]]

==== Example 1   Listing Context Service Resources

This example lists context service resources on the default server
instance.

[source]
----
asadmin> list-context-services
concurrent/__defaultContextService
concurrent/myContextService1
concurrent/myContextService2
Command list-context-services executed successfully.
----

[[sthref1451]]

=== Exit Status

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

[[sthref1452]]

=== See Also

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

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


