user: Demonstrate the C code that generates the assembly output below:

```asm
<uiclhelp>:
  endbr64
  push   %rbp
  xor    %eax,%eax
  mov    %rdi,%rbp
  call   <uiclhint@plt>
  mov    %rbp,%rsi
  lea    D295(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D265(%rip),%rdi
  call   <puts@plt>
  lea    D151(%rip),%rdi
  call   <puts@plt>
  lea    D386(%rip),%rdi
  call   <puts@plt>
  lea    D349(%rip),%rdi
  call   <puts@plt>
  lea    D872(%rip),%rdi
  call   <puts@plt>
  lea    D172(%rip),%rdi
  call   <puts@plt>
  lea    D517(%rip),%rdi
  call   <puts@plt>
  lea    D632(%rip),%rdi
  call   <puts@plt>
  lea    D688(%rip),%rdi
  call   <puts@plt>
  lea    D169(%rip),%rdi
  call   <puts@plt>
  lea    D697(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D531(%rip),%rdi
  call   <puts@plt>
  lea    D806(%rip),%rdi
  call   <puts@plt>
  lea    D709(%rip),%rdi
  call   <puts@plt>
  lea    D814(%rip),%rdi
  call   <puts@plt>
  lea    D705(%rip),%rdi
  call   <puts@plt>
  lea    D255(%rip),%rdi
  call   <puts@plt>
  lea    D178(%rip),%rdi
  call   <puts@plt>
  lea    D665(%rip),%rdi
  call   <puts@plt>
  lea    D334(%rip),%rdi
  call   <puts@plt>
  lea    D234(%rip),%rdi
  call   <puts@plt>
  lea    D154(%rip),%rdi
  call   <puts@plt>
  lea    D560(%rip),%rdi
  call   <puts@plt>
  lea    D759(%rip),%rdi
  call   <puts@plt>
  lea    D354(%rip),%rdi
  call   <puts@plt>
  lea    D39(%rip),%rdi
  call   <puts@plt>
  lea    D274(%rip),%rdi
  call   <puts@plt>
  lea    D911(%rip),%rdi
  call   <puts@plt>
  lea    D279(%rip),%rdi
  call   <puts@plt>
  lea    D115(%rip),%rdi
  call   <puts@plt>
  lea    D916(%rip),%rdi
  call   <puts@plt>
  lea    D410(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D690(%rip),%rdi
  call   <puts@plt>
  lea    D540(%rip),%rdi
  call   <puts@plt>
  lea    D673(%rip),%rdi
  call   <puts@plt>
  lea    D846(%rip),%rdi
  call   <puts@plt>
  lea    D441(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D352(%rip),%rdi
  call   <puts@plt>
  lea    D195(%rip),%rdi
  call   <puts@plt>
  lea    D596(%rip),%rdi
  call   <puts@plt>
  lea    D298(%rip),%rdi
  call   <puts@plt>
  lea    D843(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D696(%rip),%rdi
  call   <puts@plt>
  lea    D423(%rip),%rdi
  call   <puts@plt>
  lea    D553(%rip),%rdi
  call   <puts@plt>
  lea    D655(%rip),%rdi
  call   <puts@plt>
  lea    D778(%rip),%rdi
  call   <puts@plt>
  lea    D451(%rip),%rdi
  call   <puts@plt>
  lea    D64(%rip),%rdi
  call   <puts@plt>
  lea    D387(%rip),%rdi
  call   <puts@plt>
  lea    D608(%rip),%rdi
  call   <puts@plt>
  lea    D586(%rip),%rdi
  call   <puts@plt>
  lea    D773(%rip),%rdi
  call   <puts@plt>
  lea    D4(%rip),%rdi
  call   <puts@plt>
  lea    D703(%rip),%rdi
  call   <puts@plt>
  lea    D549(%rip),%rdi
  call   <puts@plt>
  lea    D273(%rip),%rdi
  call   <puts@plt>
  lea    D71(%rip),%rdi
  call   <puts@plt>
  lea    D754(%rip),%rdi
  call   <puts@plt>
  lea    D65(%rip),%rdi
  call   <puts@plt>
  lea    D873(%rip),%rdi
  call   <puts@plt>
  lea    D263(%rip),%rdi
  call   <puts@plt>
  lea    D266(%rip),%rdi
  call   <puts@plt>
  lea    D934(%rip),%rdi
  call   <puts@plt>
  lea    D316(%rip),%rdi
  call   <puts@plt>
  lea    D220(%rip),%rdi
  call   <puts@plt>
  lea    D910(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D718(%rip),%rdi
  call   <puts@plt>
  lea    D924(%rip),%rdi
  call   <puts@plt>
  lea    D8(%rip),%rdi
  call   <puts@plt>
  lea    D338(%rip),%rdi
  call   <puts@plt>
  lea    D803(%rip),%rdi
  call   <puts@plt>
  lea    D129(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D489(%rip),%rdi
  call   <puts@plt>
  lea    D525(%rip),%rdi
  call   <puts@plt>
  lea    D785(%rip),%rdi
  call   <puts@plt>
  lea    D183(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D17(%rip),%rdi
  call   <puts@plt>
  lea    D147(%rip),%rdi
  call   <puts@plt>
  lea    D522(%rip),%rdi
  call   <puts@plt>
  lea    D70(%rip),%rdi
  call   <puts@plt>
  lea    D613(%rip),%rdi
  call   <puts@plt>
  lea    D342(%rip),%rdi
  call   <puts@plt>
  lea    D780(%rip),%rdi
  call   <puts@plt>
  lea    D1(%rip),%rdi
  call   <puts@plt>
  lea    D143(%rip),%rdi
  call   <puts@plt>
  lea    D707(%rip),%rdi
  call   <puts@plt>
  lea    D766(%rip),%rdi
  call   <puts@plt>
  mov    %rbp,%rsi
  lea    D159(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D403(%rip),%rdi
  call   <puts@plt>
  lea    D466(%rip),%rdi
  call   <puts@plt>
  lea    D138(%rip),%rdi
  call   <puts@plt>
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    D783(%rip),%rdi
  call   <puts@plt>
  lea    D645(%rip),%rdi
  call   <puts@plt>
  lea    D180(%rip),%rdi
  pop    %rbp
  jmp    1090 <puts@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D295
data_type: string
name: unpack_data
arguments: data_label: D265
data_type: string
name: unpack_data
arguments: data_label: D151
data_type: string
name: unpack_data
arguments: data_label: D386
data_type: string
name: unpack_data
arguments: data_label: D349
data_type: string
name: unpack_data
arguments: data_label: D872
data_type: string
name: unpack_data
arguments: data_label: D172
data_type: string
name: unpack_data
arguments: data_label: D517
data_type: string
name: unpack_data
arguments: data_label: D632
data_type: string
name: unpack_data
arguments: data_label: D688
data_type: string
name: unpack_data
arguments: data_label: D169
data_type: string
name: unpack_data
arguments: data_label: D697
data_type: string
name: unpack_data
arguments: data_label: D531
data_type: string
name: unpack_data
arguments: data_label: D806
data_type: string
name: unpack_data
arguments: data_label: D709
data_type: string
name: unpack_data
arguments: data_label: D814
data_type: string
name: unpack_data
arguments: data_label: D705
data_type: string
name: unpack_data
arguments: data_label: D255
data_type: string
name: unpack_data
arguments: data_label: D178
data_type: string
name: unpack_data
arguments: data_label: D665
data_type: string
name: unpack_data
arguments: data_label: D334
data_type: string
name: unpack_data
arguments: data_label: D234
data_type: string
name: unpack_data
arguments: data_label: D154
data_type: string
name: unpack_data
arguments: data_label: D560
data_type: string
name: unpack_data
arguments: data_label: D759
data_type: string
name: unpack_data
arguments: data_label: D354
data_type: string
name: unpack_data
arguments: data_label: D39
data_type: string
name: unpack_data
arguments: data_label: D274
data_type: string
name: unpack_data
arguments: data_label: D911
data_type: string
name: unpack_data
arguments: data_label: D279
data_type: string
name: unpack_data
arguments: data_label: D115
data_type: string
name: unpack_data
arguments: data_label: D916
data_type: string
name: unpack_data
arguments: data_label: D410
data_type: string
name: unpack_data
arguments: data_label: D690
data_type: string
name: unpack_data
arguments: data_label: D540
data_type: string
name: unpack_data
arguments: data_label: D673
data_type: string
name: unpack_data
arguments: data_label: D846
data_type: string
name: unpack_data
arguments: data_label: D441
data_type: string
name: unpack_data
arguments: data_label: D352
data_type: string
name: unpack_data
arguments: data_label: D195
data_type: string
name: unpack_data
arguments: data_label: D596
data_type: string
name: unpack_data
arguments: data_label: D298
data_type: string
name: unpack_data
arguments: data_label: D843
data_type: string
name: unpack_data
arguments: data_label: D696
data_type: string
name: unpack_data
arguments: data_label: D423
data_type: string
name: unpack_data
arguments: data_label: D553
data_type: string
name: unpack_data
arguments: data_label: D655
data_type: string
name: unpack_data
arguments: data_label: D778
data_type: string
name: unpack_data
arguments: data_label: D451
data_type: string
name: unpack_data
arguments: data_label: D64
data_type: string
name: unpack_data
arguments: data_label: D387
data_type: string
name: unpack_data
arguments: data_label: D608
data_type: string
name: unpack_data
arguments: data_label: D586
data_type: string
name: unpack_data
arguments: data_label: D773
data_type: string
name: unpack_data
arguments: data_label: D4
data_type: string
name: unpack_data
arguments: data_label: D703
data_type: string
name: unpack_data
arguments: data_label: D549
data_type: string
name: unpack_data
arguments: data_label: D273
data_type: string
name: unpack_data
arguments: data_label: D71
data_type: string
name: unpack_data
arguments: data_label: D754
data_type: string
name: unpack_data
arguments: data_label: D65
data_type: string
name: unpack_data
arguments: data_label: D873
data_type: string
name: unpack_data
arguments: data_label: D263
data_type: string
name: unpack_data
arguments: data_label: D266
data_type: string
name: unpack_data
arguments: data_label: D934
data_type: string
name: unpack_data
arguments: data_label: D316
data_type: string
name: unpack_data
arguments: data_label: D220
data_type: string
name: unpack_data
arguments: data_label: D910
data_type: string
name: unpack_data
arguments: data_label: D718
data_type: string
name: unpack_data
arguments: data_label: D924
data_type: string
name: unpack_data
arguments: data_label: D8
data_type: string
name: unpack_data
arguments: data_label: D338
data_type: string
name: unpack_data
arguments: data_label: D803
data_type: string
name: unpack_data
arguments: data_label: D129
data_type: string
name: unpack_data
arguments: data_label: D489
data_type: string
name: unpack_data
arguments: data_label: D525
data_type: string
name: unpack_data
arguments: data_label: D785
data_type: string
name: unpack_data
arguments: data_label: D183
data_type: string
name: unpack_data
arguments: data_label: D17
data_type: string
name: unpack_data
arguments: data_label: D147
data_type: string
name: unpack_data
arguments: data_label: D522
data_type: string
name: unpack_data
arguments: data_label: D70
data_type: string
name: unpack_data
arguments: data_label: D613
data_type: string
name: unpack_data
arguments: data_label: D342
data_type: string
name: unpack_data
arguments: data_label: D780
data_type: string
name: unpack_data
arguments: data_label: D1
data_type: string
name: unpack_data
arguments: data_label: D143
data_type: string
name: unpack_data
arguments: data_label: D707
data_type: string
name: unpack_data
arguments: data_label: D766
data_type: string
name: unpack_data
arguments: data_label: D159
data_type: string
name: unpack_data
arguments: data_label: D403
data_type: string
name: unpack_data
arguments: data_label: D466
data_type: string
name: unpack_data
arguments: data_label: D138
data_type: string
name: unpack_data
arguments: data_label: D783
data_type: string
name: unpack_data
arguments: data_label: D645
data_type: string
name: unpack_data
arguments: data_label: D180
data_type: string

tool: D295: nmond %s



tool: D265: For Interactive-Mode

tool: D151: 	-s <seconds>  time between refreshing the screen [default 2]

tool: D386: 	-c <number>   count of screen refreshes [default millions]

tool: D349: 	-g <filename> User Defined Disk Groups [hit g to show them]

tool: D872: 	              - file = on each line: group_name <disks list> space separated

tool: D172: 	              - like: database sdb sdc sdd sde

tool: D517: 	              - upto 64 disk groups, 512 disks per line

tool: D632: 	              - disks can appear more than once and in many groups

tool: D688: 	-g auto       - will make a file called "auto" with just disks fron "lsblk|grep disk" output

tool: D169: 	-b            black and white [default is colour]

tool: D697: 	example: nmond -s 1 -c 100

tool: D531: For Data-Collect-Mode = spreadsheet format (comma separated values)

tool: D806: 	Note: use only one of f,F,z,x or X and make it the first argument

tool: D709: 	-f            spreadsheet output format [note: default -s300 -c288]

tool: D814: 			 output file is <hostname>_YYYYMMDD_HHMM.nmon

tool: D705: 	-F <filename> same as -f but user supplied filename

tool: D255: 	-r <runname>  used in the spreadsheet file [default hostname]

tool: D178: 	-t            include top processes in the output

tool: D665: 	-T            as -t plus saves command line arguments in UARG section

tool: D334: 	-s <seconds>  between snap shots

tool: D234: 	-c <number>   of snapshots before nmon stops

tool: D154: 	-d <disks>    to increase the number of disks [default 256]

tool: D560: 	-l <dpl>      disks/line default 150 to avoid spreadsheet issues. EMC=64.

tool: D759: 	-g <filename> User Defined Disk Groups (see above) - see BBBG & DG lines

tool: D354: 	-g auto       As above but makes the file "auto" for you of just the disks like sda etc.

tool: D39: 	-D            Use with -g to add the Disk wait/service time & inflight stats.

tool: D274: 	-N            include NFS Network File System

tool: D911: 	-I <percent>  Include process & disks busy threshold (default 0.1)

tool: D279: 	              don't save or show proc/disk using less than this percent

tool: D115: 	-m <directory> nmon changes to this directory before saving to file

tool: D916: 	example: collect for 1 hour at 30 second intervals with top procs

tool: D410: 		 nmond -f -t -r Test1 -s30 -c120

tool: D690: 	To load into a spreadsheet:

tool: D540: 	sort -A *nmon >stats.csv

tool: D673: 	transfer the stats.csv file to your PC

tool: D846: 	Start spreadsheet & then Open type=comma-separated-value ASCII file

tool: D441: 	 The nmon analyser or consolidator does not need the file sorted.

tool: D352: Capacity planning mode - use cron to run each day

tool: D195: 	-x            sensible spreadsheet output for CP =  one day

tool: D596: 	              every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)

tool: D298: 	-X            sensible spreadsheet output for CP = busy hour

tool: D843: 	              every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)

tool: D696: Interactive Mode Commands

tool: D423: 	key --- Toggles to control what is displayed ---

tool: D553: 	h   = Online help information

tool: D655: 	r   = Machine type, machine name, cache details and OS version + LPAR

tool: D778: 	c   = CPU by processor stats with bar graphs

tool: D451: 	l   = long term CPU (over 75 snapshots) with bar graphs

tool: D64: 	m   = Memory stats

tool: D387: 	L   = Huge memory page stats

tool: D608: 	V   = Virtual Memory and Swap stats

tool: D586: 	k   = Kernel Internal stats

tool: D773: 	n   = Network stats and errors

tool: D4: 	N   = NFS Network File System

tool: D703: 	d   = Disk I/O Graphs

tool: D549: 	D   = Disk I/O Stats

tool: D273: 	o   = Disk I/O Map (one character per disk showing how busy it is)

tool: D71: 	g   = User Defined Disk Groups        (assumes -g <file> when nmon started)

tool: D754: 	G   = Change Disk stats to just disks (assumes -g auto   when nmon started)

tool: D65: 	j   = File Systems 

tool: D873: 	t   = Top Process stats: select the data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only

tool: D263: 	t   = Top Process stats use 1,3,4,5 to select the data & order

tool: D266: 	u   = Top Process full command details

tool: D934: 	v   = Verbose mode - tries to make recommendations

tool: D316: 	P   = Partitions Disk I/O Stats

tool: D220: 	b   = black and white mode (or use -b option)

tool: D910: 	.   = minimum mode i.e. only busy disks and processes

tool: D718: 	key --- Other Controls ---

tool: D924: 	+   = double the screen refresh time

tool: D8: 	-   = halves the screen refresh time

tool: D338: 	q   = quit (also x, e or control-C)

tool: D803: 	0   = reset peak counts to zero (peak = ">")

tool: D129: 	space = refresh screen now

tool: D489: Startup Control

tool: D525: 	If you find you always type the same toggles every time you start

tool: D785: 	then place them in the NMON shell variable. For example:

tool: D183: 	 export NMON=cmdrvtan

tool: D17: Others:

tool: D147: 	a) To you want to stop nmon - kill -USR2 <nmon-pid>

tool: D522: 	b) Use -p and nmon outputs the background process pid

tool: D70: 	c) To limit the processes nmon lists (online and to a file)

tool: D613: 	   Either set NMONCMD0 to NMONCMD63 to the program names

tool: D342: 	   or use -C cmd:cmd:cmd etc. example: -C ksh:vi:syncd

tool: D780: 	d) If you want to pipe nmon output to other commands use a FIFO:

tool: D1: 	   mkfifo /tmp/mypipe

tool: D143: 	   nmon -F /tmp/mypipe &

tool: D707: 	   grep /tmp/mypipe

tool: D766: 	e) If nmon fails please report it with:

tool: D159: 	   1) nmon version like: %s


tool: D403: 	   2) the output of cat /proc/cpuinfo

tool: D466: 	   3) some clue of what you were doing

tool: D138: 	   4) I may ask you to run the debug version

tool: D783: 	Developer Nigel Griffiths

tool: D645: 	Feedback welcome - on the current release only and state exactly the problem

tool: D180: 	No warranty given or implied.

assistant: ```c
void uiclhelp(char *version) {
  uiclhint();
  printf("nmond %s\n\n", version);
  printf("For Interactive-Mode\n");
  printf("\t-s <seconds>  time between refreshing the screen [default 2]\n");
  printf("\t-c <number>   count of screen refreshes [default millions]\n");
  printf("\t-g <filename> User Defined Disk Groups [hit g to show them]\n");
  printf("\t              - file = on each line: group_name <disks list> space separated\n");
  printf("\t              - like: database sdb sdc sdd sde\n");
  printf("\t              - upto 64 disk groups, 512 disks per line\n");
  printf("\t              - disks can appear more than once and in many groups\n");
  printf("\t-g auto       - will make a file called \"auto\" with just disks fron \"lsblk|grep disk\" output\n");
  printf("\t-b            black and white [default is colour]\n");
  printf("\texample: nmond -s 1 -c 100\n");
  printf("\n");
  printf("For Data-Collect-Mode = spreadsheet format (comma separated values)\n");
  printf("\tNote: use only one of f,F,z,x or X and make it the first argument\n");
  printf("\t-f            spreadsheet output format [note: default -s300 -c288]\n");
  printf("\t\t\t output file is <hostname>_YYYYMMDD_HHMM.nmon\n");
  printf("\t-F <filename> same as -f but user supplied filename\n");
  printf("\t-r <runname>  used in the spreadsheet file [default hostname]\n");
  printf("\t-t            include top processes in the output\n");
  printf("\t-T            as -t plus saves command line arguments in UARG section\n");
  printf("\t-s <seconds>  between snap shots\n");
  printf("\t-c <number>   of snapshots before nmon stops\n");
  printf("\t-d <disks>    to increase the number of disks [default 256]\n");
  printf("\t-l <dpl>      disks/line default 150 to avoid spreadsheet issues. EMC=64.\n");
  printf("\t-g <filename> User Defined Disk Groups (see above) - see BBBG & DG lines\n");
  printf("\t-g auto       As above but makes the file \"auto\" for you of just the disks like sda etc.\n");
  printf("\t-D            Use with -g to add the Disk wait/service time & inflight stats.\n");
  printf("\t-N            include NFS Network File System\n");
  printf("\t-I <percent>  Include process & disks busy threshold (default 0.1)\n");
  printf("\t              don't save or show proc/disk using less than this percent\n");
  printf("\t-m <directory> nmon changes to this directory before saving to file\n");
  printf("\texample: collect for 1 hour at 30 second intervals with top procs\n");
  printf("\t\t nmond -f -t -r Test1 -s30 -c120\n");
  printf("\n");
  printf("\tTo load into a spreadsheet:\n");
  printf("\tsort -A *nmon >stats.csv\n");
  printf("\ttransfer the stats.csv file to your PC\n");
  printf("\tStart spreadsheet & then Open type=comma-separated-value ASCII file\n");
  printf("\t The nmon analyser or consolidator does not need the file sorted.\n");
  printf("\n");
  printf("Capacity planning mode - use cron to run each day\n");
  printf("\t-x            sensible spreadsheet output for CP =  one day\n");
  printf("\t              every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)\n");
  printf("\t-X            sensible spreadsheet output for CP = busy hour\n");
  printf("\t              every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)\n");
  printf("\n");
  printf("Interactive Mode Commands\n");
  printf("\tkey --- Toggles to control what is displayed ---\n");
  printf("\th   = Online help information\n");
  printf("\tr   = Machine type, machine name, cache details and OS version + LPAR\n");
  printf("\tc   = CPU by processor stats with bar graphs\n");
  printf("\tl   = long term CPU (over 75 snapshots) with bar graphs\n");
  printf("\tm   = Memory stats\n");
  printf("\tL   = Huge memory page stats\n");
  printf("\tV   = Virtual Memory and Swap stats\n");
  printf("\tk   = Kernel Internal stats\n");
  printf("\tn   = Network stats and errors\n");
  printf("\tN   = NFS Network File System\n");
  printf("\td   = Disk I/O Graphs\n");
  printf("\tD   = Disk I/O Stats\n");
  printf("\to   = Disk I/O Map (one character per disk showing how busy it is)\n");
  printf("\tg   = User Defined Disk Groups        (assumes -g <file> when nmon started)\n");
  printf("\tG   = Change Disk stats to just disks (assumes -g auto   when nmon started)\n");
  printf("\tj   = File Systems \n");
  printf("\tt   = Top Process stats: select the data & order 1=Basic, 3=Perf 4=Size 5=I/O=root only\n");
  printf("\tt   = Top Process stats use 1,3,4,5 to select the data & order\n");
  printf("\tu   = Top Process full command details\n");
  printf("\tv   = Verbose mode - tries to make recommendations\n");
  printf("\tP   = Partitions Disk I/O Stats\n");
  printf("\tb   = black and white mode (or use -b option)\n");
  printf("\t.   = minimum mode i.e. only busy disks and processes\n");
  printf("\n");
  printf("\tkey --- Other Controls ---\n");
  printf("\t+   = double the screen refresh time\n");
  printf("\t-   = halves the screen refresh time\n");
  printf("\tq   = quit (also x, e or control-C)\n");
  printf("\t0   = reset peak counts to zero (peak = \">\")\n");
  printf("\tspace = refresh screen now\n");
  printf("\n");
  printf("Startup Control\n");
  printf("\tIf you find you always type the same toggles every time you start\n");
  printf("\tthen place them in the NMON shell variable. For example:\n");
  printf("\t export NMON=cmdrvtan\n");
  printf("\n");
  printf("Others:\n");
  printf("\ta) To you want to stop nmon - kill -USR2 <nmon-pid>\n");
  printf("\tb) Use -p and nmon outputs the background process pid\n");
  printf("\tc) To limit the processes nmon lists (online and to a file)\n");
  printf("\t   Either set NMONCMD0 to NMONCMD63 to the program names\n");
  printf("\t   or use -C cmd:cmd:cmd etc. example: -C ksh:vi:syncd\n");
  printf("\td) If you want to pipe nmon output to other commands use a FIFO:\n");
  printf("\t   mkfifo /tmp/mypipe\n");
  printf("\t   nmon -F /tmp/mypipe &\n");
  printf("\t   grep /tmp/mypipe\n");
  printf("\te) If nmon fails please report it with:\n");
  printf("\t   1) nmon version like: %s\n", version);
  printf("\t   2) the output of cat /proc/cpuinfo\n");
  printf("\t   3) some clue of what you were doing\n");
  printf("\t   4) I may ask you to run the debug version\n");
  printf("\n");
  printf("\tDeveloper Nigel Griffiths\n");
  printf("\tFeedback welcome - on the current release only and state exactly the problem\n");
  printf("\tNo warranty given or implied.\n");
}
```