06-12-2014
I'll try and explain CPU+=$9 is equivalent to CPU=CPU+$9, so you can see we are adding up all the CPU for all lines that match your process.
END { printf "%03.1f\n", CPU } when the end of input is reached the total CPU is printed, the format of printf is a little tricky (man printf may be of help here).
In this case we are forcing 1 decimal place and require a leading zero if value is less than 1 (eg 0.5).
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Working in a bash environment, in the following example, how do I direct the error message that putting in an invalid flag (-j for example) would normally produce to dev/null?
while getopts "abcd" opt
do
case "$opt" in
i) a etc ;;
r) b etc ;;
f) c etc ;;
v) d... (7 Replies)
Discussion started by: Sniper Pixie
7 Replies
2. Shell Programming and Scripting
Hi,
I have a shellscript that produces a csv that can be opened in Microsoft Excel. It has two columns and about 10 rows in each column, so only twenty cells (at the moment). When the user opened the csv, I wanted it so autofilter was already turned on in columns A1 and B1 (and potentially C1,... (1 Reply)
Discussion started by: rainemaida
1 Replies
3. Shell Programming and Scripting
I have an input file having 7 fields delimited by ,
eg :
1,ABC,hg,1,2,34,3
2,hj,YU,2,3,4,
3,JU,kl,4,5,7,
4,JK,KJ,3,56,4,5
The seventh field here in some lines is empty, whereas the other lines there is a value.
How do I insert string NULL at this location (7th loc) for these lines where... (8 Replies)
Discussion started by: zilch
8 Replies
4. UNIX for Advanced & Expert Users
I am testing some file routines against potential "nasty name" Unix files, such as those with a CR, LF, in the middle or NULL terminated, utf multi-byte character. So, under Bash, I want some way of:
mv "name" "name\0"
with the \0 a real NULL.
Against all my efforts, I have not been... (2 Replies)
Discussion started by: drewk
2 Replies
5. UNIX for Dummies Questions & Answers
Okay so i have a script i wrote in python. I want to turn this script into an INSTALLED COMMAND to run in terminal.
Right now i run it like this in terminal...
$ python myscriptname.py
or
$ ./myscriptname.py
but i want to be able to run it like this in terminal...
$ myscriptname
... (3 Replies)
Discussion started by: cbreiny
3 Replies
6. Shell Programming and Scripting
Hi,
I was just helped with an excellent one liner. Now I need to know how to turn it into a script that I can call at the command line. So, this works with file script:
------------
for file in DATA.txt;
do
awk 'NR==1;NR>1{for (i=1;i<=NF;i++){a+=$i}}END{for (i=1;i<=NF;i++){printf... (3 Replies)
Discussion started by: mikey11415
3 Replies
7. Shell Programming and Scripting
Hi everybody!
I am writing a script which accepts two arguments one of them being a message. All is working except for the message part. That is, to accept text as an argument.
I have trouble storing and echoing a line of text. It seems that writing a few words and store them in an... (6 Replies)
Discussion started by: bluetxxth
6 Replies
8. Shell Programming and Scripting
There are 4 parameters that I have to pass from korn shell to sql script.
1) I have to check if $1 , $2 , $3 and $4 are null values or not .
How can I do that ?
2) Once its determined that these values are null (in the sense they are empty) how can I pass null values to sql script... (11 Replies)
Discussion started by: megha2525
11 Replies
9. Shell Programming and Scripting
I have a shell script which select total count from a table and use its value in a if condition like below
connect_string="username/password@tnsname"
tot=`sqlplus -s $connect_string << EOF
set echo off
set feedback off
set head off
select count(*) from test_table;
EOF
`
if
then
echo... (2 Replies)
Discussion started by: vel4ever
2 Replies
10. Shell Programming and Scripting
I'm new to utilities like socat and netcat and I'm not clear if they will do what I need.
I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes.
I'm using Cygwin bash on Windows 10.
My... (3 Replies)
Discussion started by: siegfried
3 Replies
LEARN ABOUT LINUX
pthread_getcpuclockid
PTHREAD_GETCPUCLOCKID(3) Linux Programmer's Manual PTHREAD_GETCPUCLOCKID(3)
NAME
pthread_getcpuclockid - retrieve ID of a thread's CPU time clock
SYNOPSIS
#include <pthread.h>
#include <time.h>
int pthread_getcpuclockid(pthread_t thread, clockid_t *clock_id);
Compile and link with -pthread.
DESCRIPTION
The pthread_getcpuclockid() function returns the clock ID for the CPU time clock of the thread thread.
RETURN VALUE
On success, this function returns 0; on error, it returns a nonzero error number.
ERRORS
ENOENT Per-thread CPU time clocks are not supported by the system.
ESRCH No thread with the ID thread could be found.
VERSIONS
This function is available in glibc since version 2.2.
CONFORMING TO
POSIX.1-2001.
NOTES
When thread refers to the calling thread, this function returns an identifier that refers to the same clock manipulated by clock_gettime(2)
and clock_settime(2) when given the clock ID CLOCK_THREAD_CPUTIME_ID.
EXAMPLE
The program below creates a thread and then uses clock_gettime(2) to retrieve the total process CPU time, and the per-thread CPU time con-
sumed by the two threads. The following shell session shows an example run:
$ ./a.out
Main thread sleeping
Subthread starting infinite loop
Main thread consuming some CPU time...
Process total CPU time: 1.368
Main thread CPU time: 0.376
Subthread CPU time: 0.992
Program source
/* Link with "-lrt" */
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <string.h>
#include <errno.h>
#define handle_error(msg)
do { perror(msg); exit(EXIT_FAILURE); } while (0)
#define handle_error_en(en, msg)
do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0)
static void *
thread_start(void *arg)
{
printf("Subthread starting infinite loop
");
for (;;)
continue;
}
static void
pclock(char *msg, clockid_t cid)
{
struct timespec ts;
printf("%s", msg);
if (clock_gettime(cid, &ts) == -1)
handle_error("clock_gettime");
printf("%4ld.%03ld
", ts.tv_sec, ts.tv_nsec / 1000000);
}
int
main(int argc, char *argv[])
{
pthread_t thread;
clockid_t cid;
int j, s;
s = pthread_create(&thread, NULL, thread_start, NULL);
if (s != 0)
handle_error_en(s, "pthread_create");
printf("Main thread sleeping
");
sleep(1);
printf("Main thread consuming some CPU time...
");
for (j = 0; j < 2000000; j++)
getppid();
pclock("Process total CPU time: ", CLOCK_PROCESS_CPUTIME_ID);
s = pthread_getcpuclockid(pthread_self(), &cid);
if (s != 0)
handle_error_en(s, "pthread_getcpuclockid");
pclock("Main thread CPU time: ", cid);
/* The preceding 4 lines of code could have been replaced by:
pclock("Main thread CPU time: ", CLOCK_THREAD_CPUTIME_ID); */
s = pthread_getcpuclockid(thread, &cid);
if (s != 0)
handle_error_en(s, "pthread_getcpuclockid");
pclock("Subthread CPU time: 1 ", cid);
exit(EXIT_SUCCESS); /* Terminates both threads */
}
SEE ALSO
clock_gettime(2), clock_settime(2), timer_create(2), clock_getcpuclockid(3), pthread_self(3), pthreads(7), time(7)
COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-02-08 PTHREAD_GETCPUCLOCKID(3)