Closed
Description
With gocryptfs version 1.2 you could pipe stdout/err and it forked itself into background. With version 1.4 it does stay in foreground...
$ python3 Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from subprocess import Popen, PIPE >>> Popen(['./gocryptfs_1.2', '-version']).communicate() gocryptfs v1.2; go-fuse 6c2b7d8; 2016-12-04 go1.7.4 (None, None) >>> Popen(['./gocryptfs_1.2', '-extpass', 'echo foo', 'cipher', 'plain'], stdout = PIPE, stderr = PIPE).communicate() (b'Reading password from extpass program\nDecrypting master key\nNot running on a terminal, suppressing master key display\nFilesystem mounted and ready.\n', b'')
Everything fine so far with 1.2. But if you do the same with 1.4:
>>> Popen(['fusermount', '-u', 'plain']).communicate() (None, None) >>> Popen(['./gocryptfs_1.4', '-version']).communicate() gocryptfs v1.4 without_openssl; go-fuse v20170619; 2017-06-20 go1.8.3 (None, None) >>> Popen(['./gocryptfs_1.4', '-extpass', 'echo foo', 'cipher', 'plain'], stdout = PIPE, stderr = PIPE).communicate()
Popen(...).communicate()
will wait until you manually kill gocryptfs_1.4
Could you please add a '-bg' option in opposition to '-fg'?
EDIT:
gocryptfs version 1.3 was fine, too. The changes where made in 1.4
>>> Popen(['./gocryptfs_1.3', '-version']).communicate() gocryptfs v1.3; go-fuse 5404bf0; 2017-04-29 go1.8 (None, None) >>> Popen(['./gocryptfs_1.3', '-extpass', 'echo asdf', 'cipher', 'plain'], stdout = PIPE, stderr = PIPE).communicate() (b'Reading password from extpass program\nDecrypting master key\nNot running on a terminal, suppressing master key display\nFilesystem mounted and ready.\n', b'') >>>