06-28-2012
Quote:
Originally Posted by
jim mcnamara
Okay. What is the real problem you are trying to solve? Generally terminating a process is not a big deal. What you are asking is unusual to say the least, so this makes me think the problem you have must have another solution.
Quote:
Originally Posted by
nitj
AS I mentioned accidentally a file was removed and it was opened by a process. No I want to close that file descriptor which is been using that file.
All you've done is repeat the same thing. You haven't explained why you can't terminate a process. Terminating a process isn't a big deal.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have a UNIX daemon process that's been started by a parent process, an application server.
The behavior of this daemon process is to inherit and use the app
server's file descriptors (ports/sockets).
When I shutdown the app server, the daemon continues to run, because there may be other... (1 Reply)
Discussion started by: kunalashar
1 Replies
2. UNIX for Dummies Questions & Answers
What is a file descriptor in Unix??
How to find a file descriptor of a file in Unix??
Does it have anything to do with the Inode numbers?? (3 Replies)
Discussion started by: rahulrathod
3 Replies
3. UNIX for Dummies Questions & Answers
Hi
I was working on a shell script with randomly shows a page of text from a randomly selected topic .As soon as the page is displayed it callers a timer script which keeps on running indefinitely until the timer script is killed by the user.
This is where I have the problem,if I press... (2 Replies)
Discussion started by: mervin2006
2 Replies
4. Shell Programming and Scripting
Hi all , i know i ask a lot of question but these are really hard to solve and important question. I send two scripts:
expect.sh:
#!/usr/local/bin/expect
spawn ssh root@172.30.64.163
expect "login:"
send "root\n"
expect "password:"
send "root\n^M"
interact
and
son.sh:
... (2 Replies)
Discussion started by: fozay
2 Replies
5. Solaris
Hi
want to know what file (descriptor+filename+socket) is being accessed by particular process on solaris.
Purpose : while running perf. test, needs to find where is the bottleneck.
We are providing concurrnet load for around 1 hr and needs to capture data related to file usage pattern... (1 Reply)
Discussion started by: raxitsheth
1 Replies
6. Shell Programming and Scripting
Hi. !
When I use the 'NOHUP' along with the '&', the process will be running in the background. Even when I attempt to close (Meaning 'EXIT') the session (say PUTTY in this case), it wont exit unless the process is completed.
But, say when I forcefully terminate the session (SHUT DOWN the... (2 Replies)
Discussion started by: WinBarani
2 Replies
7. Programming
can someone provide an example, where if the parent process quits for any reason, then the child process will also close? (3 Replies)
Discussion started by: omega666
3 Replies
8. AIX
Hi,
How to release file description area from specified process.
Problem is that process started - open one file ( ~2GB ) - file has been removed - process still shown that file is used by process and can't release space on filesystem.
It is not allowable to kill process !!!
Regs,... (3 Replies)
Discussion started by: KrzysiekPi
3 Replies
9. UNIX for Advanced & Expert Users
is it possible to duplicate file descriptors(opened by a different process) with the help of dup or dup2. the two process do not share parent child relationship as well. (2 Replies)
Discussion started by: replytoshishir
2 Replies
10. Shell Programming and Scripting
Hi Folks -
I am building a process to kill a list of services. Sometimes, there's a service that hangs therefore I need to add an additionla peice of code to kill all instances of a service if it exists.
Here is that portion of code:
echo... (10 Replies)
Discussion started by: SIMMS7400
10 Replies
close(2) System Calls Manual close(2)
Name
close - delete a descriptor
Syntax
close(fd)
int fd;
Description
The call deletes a descriptor from the per-process object reference table. If the descriptor is the last reference to the underlying
object, then the object is deactivated. For example, on the last close of a file, the current pointer associated with the file is lost.
On the last close of a socket, discards associated naming information and queued data. On the last close of a file holding an advisory
lock, the lock is released. For further information, see
A process's descriptors are automatically closed when a process exits, but because each process can have a limited number of active
descriptors, is necessary for programs that deal with many descriptors.
When a process forks, all descriptors for the new child process reference the same objects as they did in the parent process before the
fork. For further information, see If a new process is then to be run using the process would normally inherit these descriptors. Most of
the descriptors can be rearranged with the system call or deleted with before is called. However, if any descriptors are needed if the
fails, they must be closed if the execve succeeds. For this reason, the call, fcntl(d, F_SETFD, 1), is provided. This call arranges that a
descriptor is closed after a successful call. The call, fcntl(d, F_SETFD, 0), restores the default, which is to not close the descriptor.
When is used on a descriptor that refers to a remote file over NFS, and that file has been modified by using then any cached data is
flushed before returns. If an asynchronous write error has occurred previously with this remote file, or occurred as part of the flush
operation described above, then returns -1 and errno will be set to the error code. The return code from should be inspected by any program
that can over NFS.
Return Values
Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned, and the global integer variable, errno, is set
to indicate the error.
Diagnostics
The system call fails under the following conditions:
[EBADF] D is not an active descriptor.
[EINTR] The function was interrupted by a signal.
If an error occurs on an asynchronous write over NFS, the error cannot always be returned from a system call. The error code is returned
on or The following are NFS-only error messages:
[EACCESS] The requested address is protected, and the current user has inadequate permission to access it.
[ENOSPC] There is no free space remaining on the file system containing the file.
[EDQUOT] The user's quota of disk blocks on the file system containing the file has been exhausted.
[EIO] An I/O error occurred while reading from or writing to the file system.
[EROFS] The file is on a read-only file system.
[ESTALE] The fd argument is invalid because the file referred to by that file handle no longer exists or has been revoked.
[ETIMEDOUT] A write operation failed because the server did not properly respond after a period of time that is dependent on the
options.
See Also
accept(2), execve(2), fcntl(2), flock(2), fsync(2), open(2), pipe(2), socket(2), socketpair(2), write(2)
close(2)