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
nice(2) 							System Calls Manual							   nice(2)

NAME
nice - change priority of a process SYNOPSIS
DESCRIPTION
adds the value of priority_change to the nice value of the calling process. A process's is a positive number for which a more positive value results in lower CPU priority. A maximum nice value of 39 and a minimum nice value of 0 are imposed by the system. Requests for values above or below these limits result in the nice value being set to the corresponding limit. If the calling process contains more than one thread or lightweight process (i.e., the process is multi-threaded) this function shall apply to all threads or lightweight processes in the calling process. Security Restrictions Some or all of the actions associated with this system call are subject to compartmental restrictions. See compartments(5) for more infor- mation about compartmentalization on systems that support that feature. Compartmental restrictions can be overridden if the process pos- sesses the privilege (COMMALLOWED). Processes owned by the superuser may not have this privilege. Processes owned by any user may have this privilege, depending on system configuration. Some or all of the actions associated with this system call require the (OWNER) and/or the (LIMIT) privileges. Processes owned by the superuser will have these privileges. Processes owned by other users may have privilege(s), depending on system configuration. See privi- leges(5) for more information about privileged access on systems that support fine-grained privileges. RETURN VALUE
Upon successful completion, returns the new nice value minus 20. Otherwise, a value of -1 is returned and is set to indicate the error. Note that assumes a user process priority value of 20. If a user having appropriate privileges has changed the user process priority value to something less than 20, certain values for priority_change can cause to return -1, which is indistinguishable from an error return. ERRORS
[EPERM] fails and does not change the nice value if priority_change is negative or greater than 40, and the effective user ID of the calling process is not a user having appropriate privileges. SEE ALSO
nice(1), renice(1M), exec(2), privileges(5). STANDARDS CONFORMANCE
nice(2)
All times are GMT -4. The time now is 09:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy