This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Brian,you actually hinted me at sth. : powershell.exe Start-Process bash \"-c\",\"\'echo hello world \>`readlink /proc/$$/fd/1`\;sleep 10\'\" works as well.
I verified this: >echo hello >/proc/3235/fd/0 -bash: echo: write error: Bad file descriptor >echo hello >`readlink /proc/3235/fd/0` works!? Am I missing sth about symlinks? BR Till Till Riedel [TM] @ 20.06.2019 (21:49) :
Hi Brian, thanks for the reply.But proc/$$/fd/1 references the callers stdout and not the callees as /dev/stdout or /proc/self/fd/2 if called from eg. from bash, because it is expanded before the call.What I was able to do is to inject messages into the callers stdout and read from the callers stdin, which is when executing under elevated priviledges (the behaviour you would want for a sudo).As said echo >/proc/$$/fd/1 hello world is not the problem and works fine as you said as well. (I probably should not have said strangely in the first place, because it is a whole different deal...)BR Till Brian Inglis @ 16.06.2019 (17:42) :On 2019-06-15 12:27, Till Riedel wrote:I have been using a very handy sudo hack, that broke lately (I think) whenupdating cygwin: https://github.com/imachug/win-sudoThe trick is to spawn an elevated process using powershell and hook up thecalling file descripters. I now get "write error: Bad file descriptor" To reproduce call:powershell.exe Start-Process bash \"-c\",\"\'echo \>\>/proc/$$/fd/1 helloworld\;sleep 10\'\"IMHO this used to work in former versions (print out hello world on the callingshell). Strangely bash -c "echo >/proc/$$/fd/1 hello world"works. So my initial guess is that is has to do with the decoupling of Cygwin PIDs from Windows PIDs, but there were also changes in the proc file system...Thanks a lot in advance for any help/thoughts!Given: $ bash -c 'ls -dglo /dev/std* /proc/self /proc/$$ /proc/self/fd/[012]' lrwxrwxrwx 1 15 May 14 2013 /dev/stderr -> /proc/self/fd/2 lrwxrwxrwx 1 15 May 14 2013 /dev/stdin -> /proc/self/fd/0 lrwxrwxrwx 1 15 May 14 2013 /dev/stdout -> /proc/self/fd/1 dr-xr-xr-x 3 0 Jun 16 01:37 /proc/23846 lrwxrwxrwx 1 0 Jun 16 01:37 /proc/self -> 23846 lrwxrwxrwx 1 0 Jun 16 01:37 /proc/self/fd/0 -> /dev/pty0 lrwxrwxrwx 1 0 Jun 16 01:37 /proc/self/fd/1 -> /dev/pty0 lrwxrwxrwx 1 0 Jun 16 01:37 /proc/self/fd/2 -> /dev/pty0 the following seems to work as expected: $ powershell Start-Process bash \"-c\",\"\'echo \>\>/dev/stdout hello world\;sleep 10\'\"
-- KIT- Research University in the Helmholtz Association Dr.-Ing. Till Riedel Lab Leader TECO, SDSC-BW/SDIL (AR) Karlsruhe Institute of Technology (KIT) Institute of Telematics (TM) Pervasive Computing Systems - Prof. Beigl Bldg. 07.07., Room 211 Vincenz Prießnitz Str. 1, 76131 Karlsruhe +49 (0)721 608 41706 www.teco.kit.edu/~riedel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |