File: fe_cli.ml

package info (click to toggle)
xen-api-libs 0.5.2-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 1,940 kB
  • sloc: ml: 13,925; sh: 2,930; ansic: 1,699; makefile: 1,240; python: 83
file content (30 lines) | stat: -rw-r--r-- 910 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(* Simple command-line test program which invokes the FE service *)

let _ = 
  match List.tl (Array.to_list Sys.argv) with
  | [] ->
		Printf.fprintf stderr "Usage:\n";
		Printf.fprintf stderr " %s <command> [arg1] ... [argN]\n" Sys.argv.(0);
		exit 1
  | cmd :: args ->
		try
		  let out, err = Forkhelpers.execute_command_get_output ~syslog_stdout:Forkhelpers.NoSyslogging cmd args in
		  Printf.printf "stdout=[%s]\n" out;
		  Printf.printf "stderr=[%s]\n" err;
		  exit 0
		with Forkhelpers.Spawn_internal_error(err, out, ps) ->
		  Printf.fprintf stderr "stdout=[%s]\n" out;
		  Printf.fprintf stderr "stderr=[%s]\n" err;
		  let n = 
			match ps with
			| Unix.WEXITED n ->
				  Printf.fprintf stderr "WEXITED %d\n" n;
				  n
			| Unix.WSTOPPED n ->
				  Printf.fprintf stderr "WSTOPPED %d\n" n;
				  n
			| Unix.WSIGNALED n ->
				  Printf.fprintf stderr "WSIGNALED %d\n" n;
				  n in
		  exit n