summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IcePack/Parser.cpp')
-rw-r--r--cpp/src/IcePack/Parser.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/cpp/src/IcePack/Parser.cpp b/cpp/src/IcePack/Parser.cpp
index 1fba9a89a86..28e2e033597 100644
--- a/cpp/src/IcePack/Parser.cpp
+++ b/cpp/src/IcePack/Parser.cpp
@@ -59,6 +59,7 @@ IcePack::Parser::usage()
" deployed.\n"
"server describe NAME Get server NAME description.\n"
"server state NAME Get server NAME state.\n"
+ "server pid NAME Get server NAME pid.\n"
"server start NAME Starts server NAME.\n"
"server stop NAME Stop server NAME.\n"
"server remove NAME Remove server NAME.\n"
@@ -406,6 +407,27 @@ IcePack::Parser::stateServer(const list<string>& args)
}
void
+IcePack::Parser::pidServer(const list<string>& args)
+{
+ if(args.size() != 1)
+ {
+ error("`server pid' requires exactly one argument\n(`help' for more info)");
+ return;
+ }
+
+ try
+ {
+ cout << _admin->getServerPid(args.front()) << endl;
+ }
+ catch(const Exception& ex)
+ {
+ ostringstream s;
+ s << ex;
+ error(s.str());
+ }
+}
+
+void
IcePack::Parser::listAllServers()
{
try