- Fix a bug that
detect_shell()
always returns the host shell on MacOS. #81
- Detect proc format eagerly so it throws the error at the correct location. #78
- Fixed a regression causing
ShellDetectionFailure
if/proc
is used for process lookup. #72
- Select the correct status file fields on BSD systems. #68
- Fix package metadata to disallow installation on Python prior to 3.7. This was already done in 1.5.0,
but the metadata of the release was incorrectly set to
>=3.4
.
- On Windows, the full path to the shell executable is now returned instead of just the base name. #42
- Parse argument list to detect shells run via an interpreter, e.g. xonsh via Python. #27
- Fix a typo that prevents ash and csh from being detected. #24
- Add Almquist shell
(
ash
) detection support. #20
- Parse
ps
output according to how it is actually formatted, instead of incorrectly usingshlex.split()
. #14 - Improve process parsing on Windows to so executables with non-ASCII names are handled better. #16
- Suppress subprocess errors from
ps
if the output is empty. #15
No significant changes.
- Improve
/proc
content parsing robustness to not fail with non-decodable command line arguments. #10
- Fix exception on Windows when the executable path is too long to fit into the PROCESSENTRY32 struct. Generally the shell shouldn't be buried this deep, and we can always fix it when that actually happens, if ever. #8
- Check a process’s argument list is valid before peeking into it. This works
around a Heisenbug in VS Code, where a process read from
/proc
may contain an empty argument list.
- Support BSD-style
/proc
format. #4
- Better
ps
output decoding to fix compatibility. #7
- Fix login shell detection if it is
chsh
-ed to point to an absolute path. #6
- Prefer the
/proc
-based approach on POSIX whenever it is likely to work. #5
- Use
/proc
on Linux to build process tree. This is more reliable thanps
, which may not be available on a bare installation. #3
- Fix POSIX usage on Python 2 by providing more compatible arguments to parse
ps
results. Thanks to @glehmann for the patch. #2
- Prevent the lookup from exploding when running in non-hierarchical process structure. (1-b2e9bef5)
Initial release.