06-28-2002
Re: Can't create more pipe WRONG, you can't open another file
Quote:
Originally posted by uabcbac
But after 18 opened xterm, I get this msg:
- couldn't create pipe: too many open files
I think your problem is NOT with pipes but rather with the number of files you have open.
There are kernel parms for files, on mine it is called nfiles for "nubmer of files open". You may have a kernel parm called nflocks. Number of file locks.
You need to look at increasing your kernel parms at least double or more from the default. I had to 4X my nflocks from 1024 to 4096 on one production box that has a very large Oracle DB on it.
9 More Discussions You Might Find Interesting
1. Programming
I need to compile a file,but 'make' does
not work.please tell me how to use it or
need which tools? (3 Replies)
Discussion started by: dsun5
3 Replies
2. Shell Programming and Scripting
I wonder how I shall read the result below, especially 'what'
shown below.
The result was shown when I entered 'w'.
E.g what is TOP? What is gosh ( what does selmgr mean?)?
login@ idle JCPU PCPU what
6:15am 7:04 39 39 TOP
6:34am 6:45 45 45 TOP
6:41am ... (1 Reply)
Discussion started by: Aelgen
1 Replies
3. UNIX for Dummies Questions & Answers
echo 'it's friday'
why appear the > (3 Replies)
Discussion started by: yls177
3 Replies
4. UNIX for Advanced & Expert Users
Somehow someone created a file named '-ov' in the root directory.
Given the name, the how was probably the result of some cpio command they bozo'ed.
I've tried a number of different ways to get rid of it using * and ? wildcards, '\' escape patterns etc.. They all fail with " illegal option --... (3 Replies)
Discussion started by: GSalisbury
3 Replies
5. Shell Programming and Scripting
Hopefully this doesn't come off as too much of a "newbie" question or a flamebait. But I have recently begun working with a Sun Solaris box after having spent the past five years working with RedHat. From what i can tell, thing look fairly similar and the 'man' command is some help. But I've... (7 Replies)
Discussion started by: deckard
7 Replies
6. SCO
Hi,
I'm new here, so please dont shoot me if I forgot something :)
Some SCO box we've (our company) got recently from a new customer runs an app that hangs the entire box every once in a while.
Today when an admin tried to start the db we got this error:
$ dbstart
dbstart: line 22: cannot... (6 Replies)
Discussion started by: necron
6 Replies
7. Programming
Hello everybody:
I have a child process which reads a password from /dev/tty, as far as I know file descriptors for the child process can be seen by using lsof, so I want to connect to such device in order to send the password through a pipe, how could I do that? (2 Replies)
Discussion started by: edgarvm
2 Replies
8. Shell Programming and Scripting
Guy's,
I need help with creating a pipe, I found this code online but not exactly sure what different parts are doing.
Will someone be able to help me with explaining what code is doing?
Also what I want is to have everything the same directory. Meaning I am working in directory:
I want... (5 Replies)
Discussion started by: INHF
5 Replies
9. Homework & Coursework Questions
Good evening, I'm trying to do my own shell and I encountered some issues while creating it. Indeed when I try such a command I have
DAUPHINE> DAUPHINE> ls -l | grep terminal > fichier
DAUPHINE> cat fichier
My shell is named DAUPHINE
Whereas I should have:
Code:
... (0 Replies)
Discussion started by: AntoineCompagni
0 Replies
PIPE(2) System Calls Manual PIPE(2)
NAME
pipe - create an interprocess channel
SYNOPSIS
pipe(fildes)
int fildes[2];
DESCRIPTION
The pipe system call creates an I/O mechanism called a pipe. The file descriptors returned can be used in read and write operations. When
the pipe is written using the descriptor fildes[1] up to 4096 bytes of data are buffered before the writing process is suspended. A read
using the descriptor fildes[0] will pick up the data. Writes with a count of 4096 bytes or less are atomic; no other process can inter-
sperse data.
It is assumed that after the pipe has been set up, two (or more) cooperating processes (created by subsequent fork calls) will pass data
through the pipe with read and write calls.
The Shell has a syntax to set up a linear array of processes connected by pipes.
Read calls on an empty pipe (no buffered data) with only one end (all write file descriptors closed) returns an end-of-file.
SEE ALSO
sh(1), read(2), write(2), fork(2)
DIAGNOSTICS
The function value zero is returned if the pipe was created; -1 if too many files are already open. A signal is generated if a write on a
pipe with only one end is attempted.
BUGS
Should more than 4096 bytes be necessary in any pipe among a loop of processes, deadlock will occur.
ASSEMBLER
(pipe = 42.)
sys pipe
(read file descriptor in r0)
(write file descriptor in r1)
PIPE(2)