Sponsored Content
Top Forums Shell Programming and Scripting Processes by User's actual names Post 302198216 by kartikkumar84@g on Thursday 22nd of May 2008 10:43:19 AM
Old 05-22-2008
Processes by User's actual names

Hi All

I am being trained in unix and am tryin to write a script for listing the user Processes by user's names exactly the following manner WITHOUT USING A TEMPORARY FILE or SED OR AWK! The format of the output I want is:

Code:
James Hallan 
PID TTY TIME CMD 
31799 pts/3 00:00:00 vim 
31866 pts/3 00:00:00 vim 
2495 pts/7 00:00:00 vim 
8368 pts/0 00:00:00 vim 
9544 pts/2 00:00:00 ps 

Peter Anderson
PID TTY TIME CMD 
8368 pts/0 00:00:00 vim 
9544 pts/2 00:00:00 ps

So far, I have written this code and a part of the output is also shown.


Code:
echo -n > processes;

for x in $user
do



        LOGID=$x
        while IFS=: read userID junk junk junk Name junk
            do
            if [ $LOGID = $userID ];
            then
            echo "LOGID:$LOGID  Name:$Name" >> processes;
            w -s ${LOGID}|cut -c'10-200' >> processes;
            echo >> processes;
            fi
            done < /etc/passwd

done

more processes;

OUTPUT:

LOGID:james.hallan  Name:James Hallan
 up 5 days, 23:34, 46 users,  load average: 0.22, 0.28, 0.26
TTY      FROM               IDLE WHAT
pts/45   172.21.2.109      3:46  vim checking

LOGID:peter.anderson  Name:Peter Anderson
 up 5 days, 23:34, 46 users,  load average: 0.22, 0.28, 0.26
TTY      FROM               IDLE WHAT
pts/6    86.132.86.129     3:53  -bash

LOGID:laura.stewart  Name:Laura Stewart
 up 5 days, 23:34, 46 users,  load average: 0.22, 0.28, 0.26
TTY      FROM               IDLE WHAT
pts/8    172.16.1.163     52.00s vim hangman


My trainer says its not the exact same output and as you see I have used a temporary file. How can I get rid of the temporary file and get the exact same output without using SED or AWK.

The main problem I am facing is that when I use the "users" command, if a particular user is logged in from two different terminals, the output has 2 entries for that user. For eg; if james is logged in on 2 terminals, the "users" command will give print james.hallan twice on standard output. Now how do i get rid of one james.hallan entry without using sed and awk.

Secondly, how do i get the output in exactly the same format. This is very frustrating for me as I am almost there and I feel kind of helpless. Any help would be appreciated.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Max. No. Processes/user

Hi All, I heared that each user in UNIX have max. number of processes that can be running at one time. Is this correct? If yes, how can I know this number and how can I change it. N.B.: I am using Sun 5.6 Regards (4 Replies)
Discussion started by: omran
4 Replies

2. Solaris

killing all processes for an user

how can I kill all the processes belonging to an user. I need it because I can't see a process initiated by a user and thus unable to kill it. (2 Replies)
Discussion started by: krishan
2 Replies

3. UNIX for Dummies Questions & Answers

Processes by Actual names

hi all. Is there any way to get the original names (not the login names) of users currently logged on to the machine and the processes they are logged on to...names as in abc xyz and not abc.xyz I dont want to first use w -s and then loops to arrange the information, and i cant figure out how... (2 Replies)
Discussion started by: kartikkumar84@g
2 Replies

4. UNIX for Dummies Questions & Answers

Processes by User's names

Hi All I am being trained in unix and am tryin to write a script for listing the user Processes by user's names exactly the following manner WITHOUT USING A TEMPORARY FILE or SED OR AWK! The format of the output I want is: Code: James Hallan PID TTY TIME CMD 31799 pts/3 00:00:00 vim ... (2 Replies)
Discussion started by: kartikkumar84@g
2 Replies

5. AIX

run which command to check the actual user

hi gurus, i have a question: when run which javac under a user account I got the following results: PROD DB Server: /usr/java14/bin/javac DR DB Server: /usr/java14/bin/javac DEV DB Server: /usr/java5_64/bin/javac The .profile in all environments are same. so how do know who is the... (1 Reply)
Discussion started by: lweegp
1 Replies

6. UNIX for Advanced & Expert Users

integer user names and user quotas!

hello, i want to implements user quotas. the problem is that all of our user names are integer numbers, like 8510453. so when i set quota for a user (e.g. 8510453), it wont be set for that user name instead it will be set for exactly this: #8510453 (this is what webmin report shows). i have... (5 Replies)
Discussion started by: mrhosseini
5 Replies

7. UNIX for Advanced & Expert Users

User in who but no processes

Hi all! After killing some processes, I encounter the following problem: 1) some delay in the login process 2) question marks (?) in who output 3) when doing ps -fu for users with question mark in who, no process is runing. To solve this problem I shutdown the system. Does anyone know the... (4 Replies)
Discussion started by: Panos1962
4 Replies

8. Shell Programming and Scripting

Processes of a user

Hi, Please can some one advise how can we get all the processes corresponding to a particular user. Cheers, Shazin (4 Replies)
Discussion started by: Shazin
4 Replies

9. Homework & Coursework Questions

User processes

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I have to write a program which can tell me how many processes is running by some user, from the /etc/passwd file... (3 Replies)
Discussion started by: petel1
3 Replies

10. Shell Programming and Scripting

need to add user from command prompt not to open actual file

Here is my script which gives the below output when I run.First it will display the list of all groups and then ask for enter the group name and after it will ask for contribuotors or users then I will add contribuotirs or users and it will show the list of all users associated with that group but... (3 Replies)
Discussion started by: rohit22hamirpur
3 Replies
getpriority(2)							System Calls Manual						    getpriority(2)

NAME
getpriority, setpriority - get or set process priority SYNOPSIS
DESCRIPTION
returns the priority of the indicated processes. sets the priority of the indicated processes to priority. The processes are indicated by which and who, where which can have one of the following values: Get or set the priority of the specified process where who is the process ID. A who of implies the process ID of the calling process. Get or set the priority of the specified process group where who is the process-group ID, indicating all processes belonging to that process-group. A who of implies the process-group ID of the calling process. Get or set the priority of the specified user where who is the user ID, indicating all processes owned by that user. A who of implies the user ID of the calling process. If more than one process is indicated, the value returned by is the lowest valued priority of all the indicated processes, and sets the priority of all indicated processes. priority is a value from to where lower values indicate better priorities. The default priority for a process is 0. If the calling process contains more than one thread or lightweight process (i.e., the process is multi-threaded) these functions shall apply to all threads or lightweight processes in the calling process. The priority specified (or retrieved) is the same for all threads or lightweight processes in a process. Negative priorities require appropriate privileges. Security Restrictions These system calls are subject to compartmental restrictions which restrict their access to processes in other compartments. This restric- tion covers for querying the priority of processes in other compartments, and for changing the priority of processes in other compartments. See compartments(5) for more information about compartmentalization on systems that support that feature. Compartmental restrictions can be overridden if the process has the privilege (PRIV_COMMALLOWED). Processes owned by the superuser may not have this privilege. Processes owned by any user may have this privilege, depending on system configuration. requires the privilege (PRIV_OWNER) to change the priority of a process whose uid does not match the caller's real or effective uid.. Pro- cesses owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configura- tion. requires the privilege (PRIV_LIMIT). Processes owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configuration. RETURN VALUE
returns the following values: Successful completion. n is an integer priority in the range to Failure. is set to indicate the error. See WARNINGS below. returns the following values: Successful completion. Failure. is set to indicate the error. ERRORS
If or fails, is set to one of the following values: [EACCES] The calling process does not have access rights to change one or more of the indicated processes. All processes for which access is allowed are still affected. [EINVAL] which is not one of the choices listed above, or who is out of range. [EPERM] The calling process attempted to change the priority of a process to a smaller priority value without having appro- priate privileges. [ESRCH] Processes indicated by which and who cannot be found. WARNINGS
can return both when it successfully finds a priority of and when it fails. To determine whether a failure occurred, set to before calling then examine after the call returns. AUTHOR
and were developed by the University of California, Berkeley. SEE ALSO
nice(1), renice(1M), nice(2). getpriority(2)
All times are GMT -4. The time now is 11:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy