Sponsored Content
Full Discussion: Can not delete Directory
Operating Systems AIX Can not delete Directory Post 302182877 by Clevelaw on Monday 7th of April 2008 04:18:53 PM
Old 04-07-2008
Quote:
Originally Posted by bakunin
One possibility is that the directory is NFS-mounted, as era has already mentioned. Another possiblity would be a process that writes to this directory. Suppose a process that writes more or less constantly to a file, something like "vmstat 1 > /some/file" if you now remove "/some/file" ls will not show it, but it will still be there as long as the process (vmstat in this example) runs. You can see that by running "df" against the filesystem holding the file.

(btw. this is one excellent method to drive a Sysadmin crazy: Fill up the /tmp filesystem with such a mechanism and use a sufficiently innocent processname. No, do NOT try this on your colleague. ;-)) )

Use a tool like "fuser" to determine processes which still write to the filesystem/directory to remedy such a situation. Once you kill the process the filespace becomes available at once as the respective i-node is released automatically.

I hope this helps.

bakunin

The /home directory is mounted as JFS. It a partition on a local drive.
I tried fuser with some flags but did not get any useful information back.
bash-3.00# pwd
/home/spark/old/sp2f941
bash-3.00# fuser -d *
BUILD:
bash-3.00# cd BUILD
bash-3.00# fuser -d *
*: A file or directory in the path name does not exist.
bash-3.00# fuser -dV *
*: A file or directory in the path name does not exist.
bash-3.00# cd ..
bash-3.00# fuser -dV *
BUILD:

bash-3.00# fuser -u /home
/home:

bash-3.00#

Did I do the correct parameters?
here is the full results from mount.

bash-3.00# mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/hd4 / jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd2 /usr jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd9var /var jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd3 /tmp jfs Feb 07 16:55 rw,log=/dev/hd8
/dev/hd1 /home jfs Feb 07 16:56 rw,log=/dev/hd8
/proc /proc procfs Feb 07 16:56 rw
/dev/hd10opt /opt jfs Feb 07 16:56 rw,log=/dev/hd8
bash-3.00#
 

10 More Discussions You Might Find Interesting

1. HP-UX

Can't delete a directory on HP-UX

Hi, I am having hard time to delete a directory: $ rm -r testoxdwdw rm: testoxdwdw non-existent $ rmdir testoxdwdw rmdir: testoxdwdw: No such file or directory $ rm -rf testoxdwdw Thanks! (2 Replies)
Discussion started by: oradbus
2 Replies

2. UNIX for Dummies Questions & Answers

delete a directory

Hi all, I have an empty directory "-ltr". How to delete it ? Thanks (4 Replies)
Discussion started by: madmat
4 Replies

3. Solaris

Can't delete directory

Hi, I have a problem on Solaris 10 regarding deletion of files when I try to recursively delete the directory /opt/Tivoli as root, I get the following error message: rm: Unable to remove directory Tivoli/lcf/dat/1/no-del/bin/solaris2/TME: File exists rm: Unable to remove directory... (4 Replies)
Discussion started by: funksen
4 Replies

4. Solaris

Directory cannot delete

Dear All, I have problem at T5220 server, when I enter at my server as oracle user and make directory ex. directory test then I will delete directory test with command : rm -rf, what happenned...?? that directory cannot deleted. What's wrong with my server...? Note: my server T5220 with... (3 Replies)
Discussion started by: mbah_jiman
3 Replies

5. Shell Programming and Scripting

How to delete some of the files in the directory, if the directory size limits the specified size

To find the whole size of a particular directory i use "du -sk /dirname".. but after finding the direcory's size how do i make conditions like if the size of the dir is more than 1 GB i hav to delete some of the files inside the dir (0 Replies)
Discussion started by: shaal89
0 Replies

6. UNIX for Dummies Questions & Answers

Cannot Delete Directory

Hello, I am trying to delete a directory but cannot. Can anyone assist? See attached. Many thanks. (6 Replies)
Discussion started by: dixer
6 Replies

7. Shell Programming and Scripting

Script needed to delete to the list of files in a directory based on last created & delete them

Hi My directory structure is as below. dir1, dir2, dir3 I have the list of files to be deleted in the below path as below. /staging/retain_for_2years/Cleanup/log $ ls -lrt total 0 drwxr-xr-x 2 nobody nobody 256 Mar 01 16:15 01-MAR-2015_SPDBS2 drwxr-xr-x 2 root ... (2 Replies)
Discussion started by: prasadn
2 Replies

8. UNIX for Dummies Questions & Answers

Why can't I delete this directory ?

Oracle Linux 6.4 bash shell I am trying to remove the directory named OPatch. I am trying to run rm and rmdir commands while logged in as grid user, the owner of the directory. But I keep getting "Permission denied" error. It is an empty directory. Any idea why I am getting 'Permission denied'... (5 Replies)
Discussion started by: kraljic
5 Replies

9. Shell Programming and Scripting

Delete directory

Can we force delete the directories despite having files in it? Because I need to delete multiple directories which has multiple files. As of now, I'm deleting the files before deleting the directory. Can't we delete the directory with files? (3 Replies)
Discussion started by: Ram Kumar_BE
3 Replies

10. Shell Programming and Scripting

Delete files directory

amigos necesito dejar en un directorio solo los archivos del dia anterio, como puedo hacer eso con una shell Hello. Per our forum rules, all posts must be in English. We do provide translation services for posts from English to a number of languages as a benefit to users. However,... (16 Replies)
Discussion started by: tricampeon81
16 Replies
Commands Reference, Volume 2, d - h

fuser_Command

  Purpose

   Identifies processes using a file or file structure.

  Syntax

   fuser [ -c | -d | -f ] [ -k | -K { SignalNumber |
   SignalName }] [ -u ] [ -x ] [ -V ]File ...

  Description

   The fuser command lists the process numbers of local processes
that use
   the local or remote files specified by the File parameter. For
block
   special  devices, the command lists the processes that use any
file on that
   device.

   Each process number is followed by a letter indicating how the
process
   uses the file:

   c	   Uses the file as the current directory.
   e	   Uses the file as a program's executable object.
   r	   Uses the file as the root directory.
   s	    Uses  the file as a shared library (or other loadable
object).

   The process numbers are written to standard output in  a  line
with spaces
   between  process  numbers.  A new line character is written to
standard error
   after the last output for each file operand. All other  output
is written
   to standard error.

   The fuser command will not detect processes that have mmap re-
gions where
   that associated file descriptor has since been closed.

  Flags

   -c		     Reports on any open files in the file system
containing
		     File.
		     Implies  the use of the -c and -x flags. Re-
ports on any
		     open files which have been unlinked from the
file system
   -d		      (deleted	from  the parent directory). When
used in
		     conjunction with the -V flag,  it	also  re-
ports the inode
		     number and size of the deleted file.
   -f		     Reports on open instances of File only.
		     Sends  the  specified  signal  to each local
process. Only
   -K SignalNumber | the root user can kill a process of  another
user. Signal
   SignalName	      can  be  specified as either a signal name,
such as -9 or
		     KILL for the SIGKILL  signal.  Valid  values
for SignalName
		     are those which are displayed by the kill -l
command.
		     Sends  the  SIGKILL  signal  to  each  local
process. Only the
		     root  user can kill a process of another us-
er.
   -k		     Note:
		     fuser -k or -K might not be able  to  detect
and kill new
		     processes that are created immediately after
the program
		     starts to run.
   -u		     Provides the login name for local	processes
in
		     parentheses after the process number.
   -V		     Provides verbose output.
		     Used  in  conjunction with -c or -f, reports
on executable
   -x		     and loadable  objects  in	addition  to  the
standard fuser
		     output.

  Examples

    1.	To  list the process numbers of local processes using the
/etc/passwd
       file, enter:

	 fuser /etc/passwd

    2. To list the process numbers and user login names  of  pro-
cesses using
       the /etc/filesystems file, enter:

	 fuser -u /etc/filesystems

    3.	To terminate all of the processes using a given file sys-
tem, enter:

	 fuser -k -x -u -c /dev/hd1

       or

	 fuser -kxuc /home

       Either command lists the process number and user name, and
then
       terminates each process that is using the /dev/hd1 (/home)
file
       system. Only the root user can  terminate  processes  that
belong to
       another	user.  You  might want to use this command if you
are trying to
       unmount the /dev/hd1 file system and a process that is ac-
cessing the
       /dev/hd1 file system prevents this.

    4. To list all processes that are using a file which has been
deleted
       from a given file system, enter:

	 fuser -d /usr

  Files

   /dev/kmem		      Used for the system image.
   /dev/mem		      Also used for the system image.

  Related Information

   The kill command, killall command, mount command, and ps
   command.

   For more information about the identification and  authentica-
tion of users,
   discretionary  access control, the trusted computing base, and
auditing,
   refer to Security.

________________________________________________________________________________

		      Commands Reference, Volume 2, d - h

fuser_Command

  Purpose

   Identifies processes using a file or file structure.

  Syntax

   fuser [ -c | -d | -f ] [ -k | -K { SignalNumber |
   SignalName }] [ -u ] [ -x ] [ -V ]File ...

  Description

   The fuser command lists the process numbers of local processes
that use
   the local or remote files specified by the File parameter. For
block
   special  devices, the command lists the processes that use any
file on that
   device.

   Each process number is followed by a letter indicating how the
process
   uses the file:

   c	   Uses the file as the current directory.
   e	   Uses the file as a program's executable object.
   r	   Uses the file as the root directory.
   s	    Uses  the file as a shared library (or other loadable
object).

   The process numbers are written to standard output in  a  line
with spaces
   between  process  numbers.  A new line character is written to
standard error
   after the last output for each file operand. All other  output
is written
   to standard error.

   The fuser command will not detect processes that have mmap re-
gions where
   that associated file descriptor has since been closed.

  Flags

   -c		     Reports on any open files in the file system
containing
		     File.
		     Implies  the use of the -c and -x flags. Re-
ports on any
		     open files which have been unlinked from the
file system
   -d		      (deleted	from  the parent directory). When
used in
		     conjunction with the -V flag,  it	also  re-
ports the inode
		     number and size of the deleted file.
   -f		     Reports on open instances of File only.
		     Sends  the  specified  signal  to each local
process. Only
   -K SignalNumber | the root user can kill a process of  another
user. Signal
   SignalName	      can  be  specified as either a signal name,
such as -9 or
		     KILL for the SIGKILL  signal.  Valid  values
for SignalName
		     are those which are displayed by the kill -l
command.
		     Sends  the  SIGKILL  signal  to  each  local
process. Only the
		     root  user can kill a process of another us-
er.
   -k		     Note:
		     fuser -k or -K might not be able  to  detect
and kill new
		     processes that are created immediately after
the program
		     starts to run.
   -u		     Provides the login name for local	processes
in
		     parentheses after the process number.
   -V		     Provides verbose output.
		     Used  in  conjunction with -c or -f, reports
on executable
   -x		     and loadable  objects  in	addition  to  the
standard fuser
		     output.

  Examples

    1.	To  list the process numbers of local processes using the
/etc/passwd
       file, enter:

	 fuser /etc/passwd

    2. To list the process numbers and user login names  of  pro-
cesses using
       the /etc/filesystems file, enter:

	 fuser -u /etc/filesystems

    3.	To terminate all of the processes using a given file sys-
tem, enter:

	 fuser -k -x -u -c /dev/hd1

       or

	 fuser -kxuc /home

       Either command lists the process number and user name, and
then
       terminates each process that is using the /dev/hd1 (/home)
file
       system. Only the root user can  terminate  processes  that
belong to
       another	user.  You  might want to use this command if you
are trying to
       unmount the /dev/hd1 file system and a process that is ac-
cessing the
       /dev/hd1 file system prevents this.

    4. To list all processes that are using a file which has been
deleted
       from a given file system, enter:

	 fuser -d /usr

  Files

   /dev/kmem		      Used for the system image.
   /dev/mem		      Also used for the system image.

  Related Information

   The kill command, killall command, mount command, and ps
   command.

   For more information about the identification and  authentica-
tion of users,
   discretionary  access control, the trusted computing base, and
auditing,
   refer to Security.
All times are GMT -4. The time now is 05:57 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy