type=page
status=published
title=list-network-listeners
next=list-nodes.html
prev=list-modules.html
~~~~~~

= list-network-listeners

[[list-network-listeners-1]][[GSRFM00186]][[list-network-listeners]]

== list-network-listeners

Lists the existing network listeners

[[sthref1692]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-network-listeners [--help]
[target]
----

[[sthref1693]]

=== Description

The `list-network-listeners` subcommand lists the existing network
listeners. This subcommand is supported in remote mode only.

[[sthref1694]]

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

[[sthref1695]]

=== Operands

target::
  Restricts the listing to network listeners for a specified target.
  Valid values are as follows:

  `server`;;
    Lists the network listeners for the default server instance. This is
    the default value.
  configuration-name;;
    Lists the network listeners for the specified configuration.
  cluster-name;;
    Lists the network listeners for all server instances in the
    specified cluster.
  instance-name;;
    Lists the network listeners for the specified server instance.

[[sthref1696]]

=== Examples

[[GSRFM686]][[sthref1697]]

==== Example 1   Listing Network Listeners

The following command lists all the network listeners for the server instance:

[source]
----
asadmin> list-network-listeners
admin-listener
http-listener-1
https-listener-2
Command list-network-listeners executed successfully.
----

[[sthref1698]]

=== Exit Status

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

[[sthref1699]]

=== See Also

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

link:create-network-listener.html#create-network-listener-1[`create-network-listener`(1)],
link:delete-network-listener.html#delete-network-listener-1[`delete-network-listener`(1)]


