Re: [go-nuts] Linux File descriptor question in golang

2016-07-21 Thread Peter Waller
On 21 July 2016 at 12:37, Alex Bligh  wrote:
>
> On Linux (and indeed most if not all POSIX like systems)
> one cannot get a file path from the file descriptor number.
> This is irrespective of programming language used.


While your statement is true generally, it is actually possible so long as
the file descriptor refers to an existing file. Consider:

$ fd2path < main.go
/home/pwaller/.local/src/github.com/pwaller/fd2path/main.go

Code:

package main

import (
"fmt"
"log"
"os"
)

func main() {
fd := os.Stdin.Fd()
fileName, err := os.Readlink(fmt.Sprint("/proc/self/fd/", fd))
if err != nil {
log.Fatal(err)
}
fmt.Println(fileName)
}

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Linux File descriptor question in golang

2016-07-21 Thread Alex Bligh

> On 21 Jul 2016, at 11:02, Homer Li <01jay...@gmail.com> wrote:
> 
> Could I get file path from the file descriptor number ? 
> OS : Linux
> How to write in golang ?

On Linux (and indeed most if not all POSIX like systems)
one cannot get a file path from the file descriptor number.
This is irrespective of programming language used.

Consider what happens if you open a file, then unlink it.
Or open it then rename it. Or open a file with multiple links
to it. Etc.

-- 
Alex Bligh




-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Linux File descriptor question in golang

2016-07-21 Thread Konstantin Khomoutov
On Thu, 21 Jul 2016 18:02:53 +0800
Homer Li <01jay...@gmail.com> wrote:

> Could I get file path from the file descriptor number ?
> OS : Linux
> How to write in golang ?

I'm afraid, you can't.

But as usually in such cases, I have an imminent question: what initial
problem are you trying to solve?

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.