Questions tagged [file-descriptors]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
2
votes
1answer
618 views

How do I create a default file association in Debian with Gnome?

I'm using Debian Jessie 64-bit with Gnome 3.14.1. My TIF image files are opening by default in the PDF Viewer, don't ask why. In Nautilus, I right-click on the file, click Open With|Other Application....
4
votes
4answers
4k views

What is an open file description?

When you fork a process, the child inherits its parent's file descriptors. I understand that when this happens, the child receives a copy of the parent's file descriptor table with the pointers in ...
3
votes
1answer
648 views

Redirect a file descriptor before execution

I know that I can change the file a program writes to by interrupting the process in gdb, closing using the file descriptor and then re-opening with the file name I want. Is there a way to do the same ...
14
votes
3answers
2k views

Why should fork() have been designed to return a file descriptor?

On his web page about the self-pipe trick, Dan Bernstein explains a race condition with select() and signals, offers a workaround and concludes that Of course, the Right Thing would be to have fork(...
0
votes
1answer
19 views

Set-UID Capability Leak Attack

I have a C program to demonstrate the capability leak attack regarding set-uid. // cap_leak.c #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> ...
4
votes
2answers
539 views

cryptsetup - how does it print prompt bypassing stdout/stdin redirection?

I just noticed that no matter which cryptsetup FDs are forwarded to /dev/null it still shows prompt for password. For example this still shows prompt: cryptsetyp luksOpen /dev/sdXY name >/dev/null ...
0
votes
0answers
36 views

How to work with file descriptors stored in variables?

For example, if I assign TWO=2 ...the following fails (with date: invalid date '2'): date >> logfile $TWO>&1 Of course, I can always do eval "date >> logfile $TWO>&1" ...
0
votes
0answers
29 views

File descriptors potential conflict

Context I'm processing data stored into files using a sequence of command line tools. In order to automate this process, I wrote a bash script chaining theses tools, the result of each tool being fed ...
0
votes
0answers
25 views

Understanding anonymous pipe ID

I'm currently debugging a system which has a resource leak. It seems that we have too many pipse open. When I go the my /proc/PROC_ID/fd I see the list of pipes l-wx------ 1 root root 64 Jun 30 12:32 ...
0
votes
0answers
32 views

Separate stdout of an application

I have an application that takes a few command line parameters, then prints some text to the terminal, then starts writing data to a file. It has a parameter I can use to define the file name to write ...
2
votes
1answer
84 views

Understanding pipes and redirections in dash

Someone asked how to pass the output of two commands as files to another command and they got the answer below. ( cmd1 | ( cmd2 | ( main_command /dev/fd/3 /dev/fd/4 ) 4<&0 ) 3<&0 ) I ...
1
vote
2answers
56 views

Flush the pipe/printf buffers externally for already running process with known PID

I am writing a data logging app, all programs are started like: ./program > out.bin The data collector periodically pools the stdout output files and reads the data. The issue is that the IO ...
1
vote
1answer
38 views

Redirection to named file descriptor buggy inside functions

Bash has a feature where it will pick a file descriptor number for you and assign it to a variable. $ exec {fd}>foo.txt $ echo "$fd" 11 $ echo "bar" >&$fd $ cat foo.txt bar This feature ...
1
vote
1answer
46 views

How to source inline text

When you are creating tutorials online for people to use in a single terminal sometimes it's nice to source inline code...however none of these worked as I would expect. I would expect foo to be "bar" ...
0
votes
1answer
15 views

Process substitution to script in order to monitor iotop

I am actively trying to get the output of the iotop for monitoring. As you know, the iotop is interactive, meaning that once started, it'll provide live updates on disk usage on the system. I'm ...
-1
votes
1answer
56 views

hive + what is the meaning of nofile and nproc

regarding to hive in hadoop cluster what is the meaning of the following hive - nofile 30000 hive - nproc 18000 the file: more /etc/security/limits.d/hive.conf # Licensed to the Apache ...
0
votes
1answer
61 views

Difference between file descriptor and soft/hard link

If soft link and hard link are pointer to a file. And file descriptor is a file handle pointing to an open file. Then what exact difference is between the two if both of them are a kind of pointer ...
0
votes
0answers
14 views

Locale does not work with “file” command output

I have some JPEG files with Description metadata I added in MAC OS. exiftool (in MAC) displays them in correct locale. I copied those files to a Raspbian OS. From command line or bash script ...
0
votes
2answers
118 views

What happens when redirecting with 3>&1 1>/dev/null?

I'm playing around with file descriptors to better grok them and I'm failing to understand the following. $ grep "..." 3>&1 1>/dev/null 1 12 13 123 321 3 The above does not show in the ...
0
votes
1answer
105 views

Multiple fifos over SSH

Shell script allow multiple file descriptors (up to 9 for POSIX compliance, but even more for bash): $ install -m 755 /dev/stdin /tmp/test <<\EOF #!/bin/sh echo hi1 >&1 echo hi2 >&...
1
vote
2answers
330 views

exec command in bash loop for webscrapping

Here is a simple script which is curling https://unix.stackexchange.com/ and storing the result into an array, which is working fine. #!/usr/local/bin/bash [ -f pgtoscrap ] && { rm pgtoscrap; ...
1
vote
1answer
105 views

Understanding File Streams and File Descriptors

For extra context, I asked this question earlier, and thought I understood things, but not anymore. I know that echo ignores stdin. I know that stdin, stderr and stdout exist and, in this context, I ...
1
vote
1answer
76 views

File Descriptors and Redirection

Several resources state the file descriptor 0 is connected to the keyboard. I have learned that echo does not receive input from stdin (or 0). This feels contradictory to me. When I run echo foo I'm ...
4
votes
2answers
1k views

Difference between ulimit, lsof, cat /proc/sys/fs/file-max

I've been getting java.io.IOException: Too many open files while running a Kafka instance and using one topic with 1000 partitions so I started investigating the file descriptors limits in my ec2 vm. ...
10
votes
4answers
2k views

Temporary folder that automatically destroyed after process exit

Can we use temporary folders like temporary files TMP=$(mktemp ... ) exec 3<>$TMP rm $TMP cat <&3 which will be destroyed automatically after this shell exit?
1
vote
1answer
77 views

Why do I need 'exec' if 'while read' can open a 'File Descriptor'

I want to read a file line by line using bash, tail and using a diferent file descriptor. all the guides use this method: method 1: echo 1111111 > z.txt exec {newFD}< <(tail -f -c +0 "z.txt"...
50
votes
3answers
45k views

Understanding /dev and its subdirs and files

$ ls -l /dev/stdin /dev/fd/0 lrwx------ 1 tim tim 64 2011-08-07 09:53 /dev/fd/0 -> /dev/pts/2 lrwxrwxrwx 1 root root 15 2011-08-06 08:14 /dev/stdin -> /proc/self/fd/0 $ ls -l /dev/pts/2 /proc/...
0
votes
0answers
24 views

Monitoring data flow to /dev/null for a given process

I have a process which reads out data from a custom PCI-e device using a custom driver. The program takes a file descriptor as an argument and writes the raw data to it. I would like to test the data ...
0
votes
1answer
1k views

How to handle broken link after file deletion.in /proc/<pid>/fd directory?

A process is creating huge number of log files and also deleting it. Many of those deleted files are having broken links in the /proc/pid/fd directory. Do these file handles need to be closed by ...
1
vote
1answer
361 views

How can I read the descriptor for the “Characteristic User Description”?

I am trying to get my Linux machine to communicate with several micro-controllers that have BLE chips. I am attempting to do this using the attributes that already come with the micro-controllers. The ...
0
votes
1answer
250 views

Maximum value for /proc/sys/fs/file-max

Today my server crashed with Too many open files in system: but I already have high values, what is a maximum value for this? I feel like there aren't good results on google for this, explaining ...
5
votes
2answers
272 views

Why doesn't sed -i work with /proc/PID/fd/FD

I have this file and fd: exec 88<>abc Why $ sed -i "s/cd/II/g" /proc/$$/fd/88 sed: couldn't open temporary file /proc/26194/fd/sedS1D1FT: No such file or directory but this work: $ cat /...
3
votes
3answers
148 views

tee into different variables

From the bash code command1 | tee >(command2) | command3 I want to capture the output of command2 in var2 and the output of command3 in var3. command1 is I/O-bound and the other commands are ...
2
votes
1answer
95 views

concurrent processing in bash using process expansion, and redirection

Apart from possible races that have to be controlled by using proper synchronisation, it's possible in bash to feed a data source concurrently into multiple pipelines and collect all their outputs ...
0
votes
0answers
35 views

Is a mmaped file considered an open file in linux/unix?

Hi I feel confused about open file and mmapped file. I know that if a file is accessed using system call such as read/write will return a file descriptor, and be considered as an open file? How about ...
0
votes
1answer
88 views

Why is my files “last modified” timestamp only showing the year with the 'ls' command? [duplicate]

I'm building a java service that modifies the "Last Modified" field of some of the files it works with. The service keeps copies of files in a folder, it periodically checks a database for changes, ...
2
votes
1answer
247 views

lsof versus /proc/$PID/fd versus ulimit -n

I am trying to find the reason why my long-running app sometimes busts the maximum open file descriptor limit (ulimit -n). I would like to periodically log how many file descriptors the app has open ...
1
vote
0answers
193 views

Listen in to data read from file descriptor to ttyS

I have a serial device under /dev/ttyS0 and an application that is reading from the serial device (but not writing to it). I wanted to listen in to the data that is coming in on the serial device but ...
4
votes
2answers
153 views

How to periodically check if STDIN is open?

Some programs will exit when their STDIN is closed. Those that do this work nicely with Erlang/Elixir supervision via "ports". For those that don't, the Elixir docs suggest this wrapper script: #!/...
5
votes
2answers
795 views

Safest way to force close a file descriptor

Sometimes you need to unmount a filesystem or detach a loop device but it is busy because of open file descriptors, perhaps because of a smb server process. To force the unmount, you can kill the ...
5
votes
1answer
1k views

Opening named pipe blocks forever, if pipe is deleted without being connected

Try the following shell commands: mkfifo /tmp/test.pipe ls -1 /tmp > /tmp/test.pipe & rm /tmp/test.pipe mkfifo /tmp/test.pipe cat /tmp/test.pipe & jobs The ls command is just an ...
0
votes
2answers
654 views

pass stdout fd to 'read' system call, but it still works fine [duplicate]

I pass 1(stdout)/2(stderr) to read system call but it still works fine. Then I pass 0(stdin) to write system call and find out it works too! int main(int argc, char** argv){ char buf[1024] = "...
2
votes
1answer
33 views

Why the output of ls is different for the same directory /dev/fd/ based on the method of referencing this directory?

cd /dev/fd/; ls Gives me output that I expect: 0 1 2 255 But: ls /dev/fd/ Gives different output that I don't expect: 0 1 2 3 Why? What happens here? What happened to file descriptor 255? ...
0
votes
0answers
258 views

Cannot pass argument through /proc/<pid>/fd/0

I have written a basic C++ program as such: #include <sstream> #include <unistd.h> #include <cstdio> #include <iostream> int main(void) { int foo; std::cin >> foo; ...
10
votes
5answers
19k views

Close all file descriptors in bash

Is there a way to close all the open file descriptors, without having an explicit list of them beforehand?
0
votes
2answers
84 views

STDOUT + STDERR output … is there any difference between considering the output to be an empty string vs NULL

I'm writing some application code that is used to execute Linux shell commands, and it then logs the command details into an SQL database. This includes the output of STDOUT + STDERR (separately). ...
4
votes
1answer
349 views

Testing if a file descriptor is valid (for input)

In the question "Testing if a file descriptor is valid", a test is sought for testing whether a file descriptor is opened or not. The answers all focus on testing whether the file descriptor is ...
9
votes
2answers
8k views

Writing to stdin of a process

As far as I understand if i type the following... python -i ... the python-interpreter will now read from stdin, behaving (obviously) like this: >>> print "Hello" Hello I would expect ...
1
vote
1answer
54 views

A command wants file paths. How can I give it stdin for the “infile” and stdout for the “outfile”?

Consider a command like foo -in /path/to/infile -out /path/to/outfile, that you'd like to pass strings to rather than using temp files. It may be called a lot causing much disk access, or is related ...
7
votes
2answers
2k views

In Bash, what is file descriptor 255 for, can I use it?

I understand file descriptor (or file handler) is an file IO technique in Linux systems. I also know that each process has 3 standard streams (namely stdin, stdout and stderr) that are represented ...