3 * Copyright (C) 2010 Simone Piccardi
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or (at
8 * your option) any later version.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 /*****************************************************************************
21 * File mygetclock.c: An example host command
23 * Author: S. Piccardi May. 2010
25 *****************************************************************************/
26 #include <stdlib.h> /* C standard library */
27 #include <stdio.h> /* standard I/O library */
28 #include <unistd.h> /* unix standard library */
29 #include <time.h> /* time library */
35 /* Help printing routine */
38 int main(int argc, char *argv[])
41 * Variables definition
48 * Input section: decode command line parameters
51 opterr = 0; /* don't want writing to stderr */
52 while ( (i = getopt(argc, argv, "h")) != -1) {
57 case 'h': /* help option */
58 printf("Wrong -h option use\n");
62 case '?': /* unrecognized options */
63 printf("Unrecognized options -%c\n",optopt);
65 default: /* should not reached */
69 /* ***********************************************************
71 * Options processing completed
75 * ***********************************************************/
76 if ((argc - optind) != 1) {
77 printf("Wrong number of arguments %d\n", argc - optind);
81 pid = atoi(argv[optind]);
83 if (clock_getcpuclockid(pid, &clockid) != 0) {
84 perror("Cannot get clockid");
88 clockid = CLOCK_PROCESS_CPUTIME_ID;
90 if (clock_gettime(clockid, &time) != 0) {
91 perror("Cannot get time");
94 printf("Tempo %s", ctime(&time.tv_sec));
99 * routine to print usage info and exit
102 printf("Program mygetclock: prende un orologio \n");
104 printf(" mygetclock [-h] PID \n");
105 printf(" -h print this help\n");