Sponsored Content
Top Forums Programming deleting a file name by its handle Post 302096182 by jim mcnamara on Tuesday 14th of November 2006 09:23:36 AM
Old 11-14-2006
there is no simple way to get a filename from a file descriptor (handle).

If the file in question is a temporary file look into man tmpfile - the file is automatically deleted on close.

Otherwise, it is easier to have the shell script that passed the filename (to the C process) delete the file.

As last suggestion - pass the filename around as an argument

Code:
char global_filename[128]={0x0};

int openit(char *filename)
{
    int filedesc=open(filename, O_RDONLY);
    if(filesdesc < 0) { 
        perror("error opening file");
        exit(EXIT_FAILURE);
    }
    return filedesc;
}

void process(int fd)
{

}

void closeit(int fd)
{
     if(close(fd) <0) {

        perror("error closing file");
        exit(EXIT_FAILURE);
     }     
}

void deleteit(char *filename)
{
     remove(filename);
}

int main(int argc, char *argv[])
{
     int fd=openit(argv[1]);
     process(fd);
     closeit(fd);
     deleteit(argv[1]);
     return 0;
}

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

NFS file handle

How can I kill mount connection(NFS , made by automount) if remote filesystem is down? I tried: fuser -ku /auto /auto: umount /auto nfs umount: ERROR: /auto is busy If I try cd /auto - I get - /auto: Stale remote file handle. I know that reboot will help but I cannot reboot this... (2 Replies)
Discussion started by: kazimir
2 Replies

2. UNIX for Advanced & Expert Users

Stale NFS file handle

Hi, I get an error saying "Stale NFS file handle" how can I solve this? Is it possible to do this with a umount/ mount command? (5 Replies)
Discussion started by: rein
5 Replies

3. UNIX and Linux Applications

Stale NFS file handle

There are a filesystem /GWD/appbase/projects/GRIDDB Under this filesystem there is a directory called backup. But When I am trying to access the backup directory ,it is showing me the following error: # cd /GWD/appbase/projects/GRIDDB # cd backup -bash: cd: backup: Stale NFS file handle ... (3 Replies)
Discussion started by: alphasahoo
3 Replies

4. Shell Programming and Scripting

How to handle multiple rows in a file

I have a FILE a.txt which has the following data 113901.94,113901.94,56950.97,56950.97,NOT MATCHING,NOT MATCHING 10693.04,10693.04,5346.52,5346.52,NOT MATCHING,NOT MATCHING 1901.94,1901.94,550.97,550.97,NOT MATCHING,NOT MATCHING 103.04,103.04,53.52,53.52,NOT MATCHING,NOT MATCHING #### This... (2 Replies)
Discussion started by: ksmbabu
2 Replies

5. Linux

NFS file handle question

Hello All, I have a small question regarding the NFS file handles. Suppose I have a NFS client who has requested for a particular file from the NFS server.Now lets assume that I am using a NFS v2 server. So I get the filehandle for that file and I can use it. Suppose later I upgrade the server to... (0 Replies)
Discussion started by: prathamesh
0 Replies

6. AIX

how to handle potential file contention

I need to change how a posting procedure currently works in order to improve load balancing but I am hitting a potential file contention problem that I was wondering if someone here could assist me with... In a directory called FilePool I would have a bunch of files that are constantly coming in... (3 Replies)
Discussion started by: philplasma
3 Replies

7. Shell Programming and Scripting

handle file by month

Hi, I want to write a shell script which handle an oracle alert log so that when it changes month, the script generates a new file with month in the filename. Thanks in advance. Leim (4 Replies)
Discussion started by: leim
4 Replies

8. Solaris

Before I delete any file in Unix, How can I check no open file handle is pointing to that file?

I know how to check if any file has a unix process using a file by looking at 'lsof <fullpath/filename>' command. I think using lsof is very expensive. Also to make it accurate we need to inlcude fullpath of the file. Is there another command that can tell if a file has a truely active... (12 Replies)
Discussion started by: kchinnam
12 Replies

9. UNIX for Advanced & Expert Users

How to decode nfs file handle in HP-UX?

Hi Experts, Any idea how to decode file handle in HP-UX? I am getting the following error continously in my HP-UX 11.31 box :mad: Apr 26 07:15:00 host62 su: + tty?? root-bb Apr 26 07:15:00 host62 su: + tty?? root-abcadm Apr 26 07:15:01 host62 vmunix: NFS write error on host peq9vs:... (1 Reply)
Discussion started by: vipinable
1 Replies

10. UNIX for Dummies Questions & Answers

Difference between handle to the thread HANDLE and thread identifier pthread_t

This question might be silly but its confusing me a bit: What is the difference between handle to the thread HANDLE and thread identifier pthread_t? ---------- Post updated at 01:52 PM ---------- Previous update was at 01:48 PM ---------- Sorry I saw details and HANDLE is in windows and... (0 Replies)
Discussion started by: rupeshkp728
0 Replies
TMPFILE(3)						     Linux Programmer's Manual							TMPFILE(3)

NAME
tmpfile - create a temporary file SYNOPSIS
#include <stdio.h> FILE *tmpfile(void); DESCRIPTION
The tmpfile() function opens a unique temporary file in binary read/write (w+b) mode. The file will be automatically deleted when it is closed or the program terminates. RETURN VALUE
The tmpfile() function returns a stream descriptor, or NULL if a unique filename cannot be generated or the unique file cannot be opened. In the latter case, errno is set to indicate the error. ERRORS
EACCES Search permission denied for directory in file's path prefix. EEXIST Unable to generate a unique filename. EINTR The call was interrupted by a signal. EMFILE Too many file descriptors in use by the process. ENFILE Too many files open in the system. ENOSPC There was no room in the directory to add the new filename. EROFS Read-only file system. CONFORMING TO
SVr4, 4.3BSD, C89, C99, SUSv2, POSIX.1-2001. NOTES
POSIX.1-2001 specifies: an error message may be written to stdout if the stream cannot be opened. The standard does not specify the directory that tmpfile() will use. Glibc will try the path prefix P_tmpdir defined in <stdio.h>, and if that fails the directory /tmp. SEE ALSO
exit(3), mkstemp(3), mktemp(3), tempnam(3), tmpnam(3) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. 2008-07-14 TMPFILE(3)
All times are GMT -4. The time now is 08:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy