Sponsored Content
Homework and Emergencies Homework & Coursework Questions Display info about users (UID GID processes terminal) Post 302942102 by kornfan on Friday 24th of April 2015 08:15:30 AM
Old 04-24-2015
Display info about users (UID GID processes terminal)

I would like to get an opinion for my solution for this task and get feedback about better approach or mistakes I have made.

1. The problem statement, all variables and given/known data:
The task is to create a script which prints information about users whose names are specified in the parameters between spaces.

Result should display:
  • user name
  • UID
  • GID
  • home path
  • status (logged in or not)
  • if yes specify terminal name and number of processes running
If user is logged in to more than one terminal then it should display info about every terminal separately.

If there is no parameter specified then information displayed should concern the user who run the script


2. Relevant commands, code, scripts, algorithms:
I used simple commands:
grep ps who wc cut
to get necessary information

3. The attempts at a solution (include all code and scripts):
Code:
#!/bin/sh
if [ -z "$*" ]
then
	users=$(who)
else
	users=$*
fi
for name in $users
do
	line=$(grep "^$name:" /etc/passwd)
	if [ -z "$line" ]
	then
		echo "User not found"
	else
		 printf "$line" | cut -f 1,3,4,6 -d:
	
		if [ -n "$(who | grep $name)" ]
		then
			printf " logged in at "
			terminale=$(who | grep $name)
			terminale=`echo "$terminale" | cut -f2 -d" "`
			for terminal in $terminale
			do
				printf "%s " $(echo "$terminal" | cut -f2 -d" ")
				printf "%s processes " $(ps -t $terminal | wc -l)
			done
			printf "\n"
		else
			printf "Not logged in \n"
		fi	

	fi	
done


4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):
Wojskowa Akademia Techniczna, Poland
Operating Systems (Systemy Operacyjne)
A.Zieliński
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

negative UID/GID?!! I can see 'em but what the hell do they mean?!

Just as the subject asks :) Thanks! hellz (2 Replies)
Discussion started by: hellz
2 Replies

2. Solaris

NFS Mount UID and GID

I have a truble with NFS mount. When i mount remote dir, then all permissions changes! For example: # mkdir /data # mount 10.1.1.100:/var/data /data # ls -l /data drwxr-xr-x 7 nobody nobody 5632 Oct 22 14:55 file1 drwxr-xr-x 4 nobody nobody 512 Oct 22 14:55... (4 Replies)
Discussion started by: jess_t03
4 Replies

3. UNIX for Dummies Questions & Answers

UID & GID of the running process

Hi, out of curosity this question just popped in my mind. Is there any way to find out the uid and gid of the running process ? If i do a ls -l of a program then it shows the uid/gid bit (if its set). I want to see as which user/group the program is running ..... is there any way to know this... (2 Replies)
Discussion started by: ankurjain
2 Replies

4. UNIX for Advanced & Expert Users

GID & UID for HP-UX ?

Hi, can somebody tell me how to make directoriy in which all files will be generated as dir owner ? I'm able to add GID for directory group and files have group id like folder , but when i do same for user files still are created as user which creates them :( drwsrwsrwx 2 flexbul ... (2 Replies)
Discussion started by: pp56825
2 Replies

5. Shell Programming and Scripting

How to display what processes, users have opened at a given time

Hello, What i have to do is make a top 10 list of users sorted by the number of processes opened at a given time. Can anyone help me with finding out for a given moment, for all users how many processes each had opened? (5 Replies)
Discussion started by: gabibyte
5 Replies

6. UNIX for Advanced & Expert Users

Numeric uid and gid in ls -l command

I´m listing the contents of a directory using the command ls -lI get numeric uid and gid for some lines. example: drwxr-xr-x root root 1970-01-01 01:00 sys -rw-r--r-- 501 20 0 2010-08-04 14:54 shutdown.bravo.rc drwxr-x--- 501 20 ... (5 Replies)
Discussion started by: flocki
5 Replies

7. Shell Programming and Scripting

changing uid,gid

Hi, I am new to scrippting need little help, I would like to change uid, gid of exisisting user, example User A current uid=1,gid=2 would like to change uid=4,gid=5 I know the command to change uid,gid but after changing I have to change permissions on folders also which are belonging... (3 Replies)
Discussion started by: manoj.solaris
3 Replies

8. UNIX for Dummies Questions & Answers

uid ,gid value change

Present /home/dsadm# id dsadm uid=0(root) gid=0(root) ---------------------------------- needs to be /home/dsadm> id dsadm uid=23186(dsadm) gid=16284(gdstage) Please provide the command/steps for the above uid, gid value change Thanks in advance for all your support . ... (3 Replies)
Discussion started by: sridhardwh
3 Replies

9. Shell Programming and Scripting

Find users with root UID or GID or root home

I need to list users in /etc/passwd with root's GID or UID or /root as home directory If we have these entries in /etc/passwd root:x:0:0:root:/root:/bin/bash rootgooduser1:x:100:100::/home/gooduser1:/bin/bash baduser1:x:0:300::/home/baduser1:/bin/bash... (6 Replies)
Discussion started by: anil510
6 Replies

10. AIX

UID & GID instead of user name and group name

Hi Everyone, We are encountering the following issue on AIX 5.3. When we do ls -ltr the list displays only user id and group id instead of user name and group name. This is happening for all users except root. Whe we do ls -ltr with root user it shows perfectly fine. When we searched... (25 Replies)
Discussion started by: madhav.kunapa
25 Replies
ADVISE(3PVM)							  PVM Version 3.4						      ADVISE(3PVM)

NAME
pvm_advise() - Controls use of direct task-to-task routing. [In Version 3.2: Replaced by pvm_setopt] SYNOPSIS
C int info = pvm_advise( int route ) Fortran call pvmfadvise( route, info ) PARAMETERS
route Integer advising PVM to set up direct task-to-task links. route options PvmDontRoute 1 Don't allow direct links to this task PvmAllowDirect 2 Allow but don't request direct links PvmRouteDirect 3 Request direct links info Integer returning error status. DESCRIPTION
The routine pvm_advise advises PVM on whether or not to set up direct task-to-task links (using TCP) for all subsequent communication. Once a link is established it remains until the application finishes. If a direct link can not be established because one of the two tasks has requested PvmDontRoute or because no resources are available, then the default route through the PVM daemons is used. pvm_advise can be called multiple times to selectively establish direct links, but is typically set only once near the beginning of each task. PvmAllowDi- rect is the default advise setting. This setting on task A allows other tasks to set up direct links to A. Once a direct link is estab- lished between tasks both tasks will use it for sending messages. pvm_advise returns the error status in info. The performance of direct task-to-task links can be up to a factor of two better than the default route. The draw back is a lack of scalability of the direct links. Some versions of UNIX limit the number of links to no more than 30. EXAMPLES
C: info = pvm_advise( PvmRouteDirect ); Fortran: CALL PVMFADVISE( PVMROUTEDIRECT, INFO ) ERRORS
This error condition can be returned by pvm_advise PvmBadParam giving an invalid route value. SEE ALSO
pvm_setopt(3PVM) 30 August, 1993 ADVISE(3PVM)
All times are GMT -4. The time now is 04:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy