Sponsored Content
Operating Systems Solaris Process holding /tmp space, need to know the process details Post 302795455 by jlliagre on Wednesday 17th of April 2013 07:05:11 PM
Old 04-17-2013
Here is a small shell script that will show you some details about all the non empty files currently open in the /tmp file system sorted by processes holding them.
You should easily find the deleted files, if any, that account to the missing space and the script should have no problem running in a zone (untested though).
Code:
#!/bin/ksh
pfiles /proc/* | nawk '
/^[1-9][0-9]*/ {process=$0;next}
/size:0$/ {next}
/'$(sleep 300 > /tmp/.$$ &
pid=$!
pfiles $pid | nawk '/ 1:/ {print $4}'
kill $pid;rm /tmp/.$$)'/ {onTmp=1;finfo=$0;next}
/\// {if(onTmp) printf("%s\n%s\n%s\n",process,finfo,$0);onTmp=0}
/ [0-9]*: / {if(onTmp) printf("%s\n%s (deleted)\n",process,finfo);onTmp=0}
'

Explanations about how the script works is left as an exercise for the reader Smilie

Last edited by jlliagre; 04-17-2013 at 08:18 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Process responsible for filling up /var/tmp

Hi, Help ! - I have a process which I cannot find that is writing to /var/tmp every 10 minutes and filling up my partition, it is also filling up my wtmpx file. I have some software error correction for a faulty DIMM at the moment - is this likely to be causing this as well as over-loading my... (3 Replies)
Discussion started by: Mal
3 Replies

2. AIX

Paging Space per process

This is my first post, and I am new to the UNIX world. Hopefully this question won't be too lame. I know that I can use topas to see the paging space used by some processes. I would like to script something that can add up the paging space used by process owned by or associated with an... (1 Reply)
Discussion started by: alntht
1 Replies

3. UNIX for Dummies Questions & Answers

How to find the details of the previously running process with PID

OS: Unix or Linux I (only) know the pid of the process which was running earlier (say 5 hrs back) but it is not running now. Is there a way I could find the details of that process? (atleast the name of the process). Please let me know. (2 Replies)
Discussion started by: vijay.d
2 Replies

4. Solaris

Help to trace process consuming more space

Hi all, We have a server having much processes running. It is very difficuilt to trace the exact consuming more memory. Howerver, it shows CPU usage in sequence but how memory? Tried working with TOP command. Please let me know if something not clear. Thanks, Deepak (5 Replies)
Discussion started by: naw_deepak
5 Replies

5. Solaris

How to check which process is holding up the ilde port

HI All Am on Sun OS.While trying to start a process , we could see that the port is idle and we are not able to find the process holding that port. Below is the result we get after using netstat command. lsof command is not yet installed in our machine. netstat -a | grep "port no"... (5 Replies)
Discussion started by: Whiteboard
5 Replies

6. AIX

Wait process holding CPU

Hi all, Have this performance Issue, srvbd1]root]/]>ps vg | head -1 ; ps vg | grep -w wait PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND 8196 - A 4448:23 0 384 384 xx 0 0 12.8 0.0 wait 53274 - A 4179:28 0 384 ... (9 Replies)
Discussion started by: gopeezere
9 Replies

7. AIX

Need to get process details

Hello, Below are the list of files ls -lrt total 16 lr-x------ 43 oracle dba 0 Dec 5 14:27 root -> / lr-x------ 2 oracle dba 0 Dec 16 00:14 cwd -> /prodoragridcn_01/app/oracle/product/11203/dbs/ -r--r--r-- 1 oracle dba 0 Dec 16... (4 Replies)
Discussion started by: Vishal_dba
4 Replies

8. UNIX for Advanced & Expert Users

How to find process holding a semaphore?

Hello All, The system concerned has multiple processes communicating with each other using shared memory. These processes use semaphores to protect data being used amongst them. The "key" would uniquely identifies the particular semaphore corresponding to a resource for the various processes. ... (2 Replies)
Discussion started by: saptarshi
2 Replies

9. Shell Programming and Scripting

Need generic command to get complete running process details

I am on SunOS and Linux I need generic command to get complete process details from which i will eventually extract socket details (listen address and port) ps -ef | ggrep -i server | ggrep -i mydomaindoes not yield a process that should have both the grep entries along with the listen... (8 Replies)
Discussion started by: mohtashims
8 Replies

10. Shell Programming and Scripting

Need iplanet process health runtime details

Hi, I have iPlanet 7.0 process running on Solaris system SunOS mymac15.10 Generic_150400-59 sun4v sparc sun4v. The link here suggests to use the below command to get process runtime details / health inorder to understand if the iPlanet process is hung or good. /usr/bin/ps -o "pid ppid... (4 Replies)
Discussion started by: mohtashims
4 Replies
wait(1)                                                            User Commands                                                           wait(1)

NAME
wait - await process completion SYNOPSIS
/bin/sh wait [pid...] /bin/jsh /bin/ksh /usr/xpg4/bin/sh wait [pid...] wait [ % jobid...] /bin/csh wait DESCRIPTION
The shell itself executes wait, without creating a new process. If you get the error message cannot fork,too many processes, try using the wait command to clean up your background processes. If this doesn't help, the system process table is probably full or you have too many active foreground processes. There is a limit to the number of process IDs associated with your login, and to the number the system can keep track of. Not all the processes of a pipeline with three or more stages are children of the shell, and thus cannot be waited for. /bin/sh, /bin/jsh Wait for your background process whose process ID is pid and report its termination status. If pid is omitted, all your shell's currently active background processes are waited for and the return code will be 0. The wait utility accepts a job identifier, when Job Control is enabled (jsh), and the argument, jobid, is preceded by a percent sign (%). If pid is not an active process ID, the wait utility will return immediately and the return code will be 0. csh Wait for your background processes. ksh When an asynchronous list is started by the shell, the process ID of the last command in each element of the asynchronous list becomes known in the current shell execution environment. If the wait utility is invoked with no operands, it will wait until all process IDs known to the invoking shell have terminated and exit with an exit status of 0. If one or more pid or jobid operands are specified that represent known process IDs (or jobids), the wait utility will wait until all of them have terminated. If one or more pid or jobid operands are specified that represent unknown process IDs (or jobids), wait will treat them as if they were known process IDs (or jobids) that exited with exit status 127. The exit status returned by the wait utility will be the exit status of the process requested by the last pid or jobid operand. The known process IDs are applicable only for invocations of wait in the current shell execution environment. OPERANDS
The following operands are supported: One of the following: pid The unsigned decimal integer process ID of a command, for which the utility is to wait for the termination. jobid A job control job ID that identifies a background process group to be waited for. The job control job ID notation is applicable only for invocations of wait in the current shell execution environment, and only on systems supporting the job control option. USAGE
On most implementations, wait is a shell built-in. If it is called in a subshell or separate utility execution environment, such as one of the following, (wait) nohup wait ... find . -exec wait ... ; it will return immediately because there will be no known process IDs to wait for in those environments. EXAMPLES
Example 1: Using A Script To Identify The Termination Signal Although the exact value used when a process is terminated by a signal is unspecified, if it is known that a signal terminated a process, a script can still reliably figure out which signal is using kill, as shown by the following (/bin/ksh and /usr/xpg4/bin/sh): sleep 1000& pid=$! kill -kill $pid wait $pid echo $pid was terminated by a SIG$(kill -l $(($?-128))) signal. Example 2: Returning The Exit Status Of A Process If the following sequence of commands is run in less than 31 seconds (/bin/ksh and /usr/xpg4/bin/sh): sleep 257 | sleep 31 & jobs -l %% then either of the following commands will return the exit status of the second sleep in the pipeline: wait <pid of sleep 31> wait %% ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of wait: LANG, LC_ALL, LC_CTYPE, LC_MES- SAGES, and NLSPATH. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
csh(1), jobs(1), ksh(1), sh(1), attributes(5), environ(5), standards(5) SunOS 5.10 12 Dec 1997 wait(1)
All times are GMT -4. The time now is 02:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy