diff --git a/lib-base/source/java/ch/systemsx/cisd/base/unix/Unix.java b/lib-base/source/java/ch/systemsx/cisd/base/unix/Unix.java index 63ad45b096882fcd043f4c502d2d99850e0db36b..d1fbda3f5260397044c348729ce3db5b8ca758ed 100644 --- a/lib-base/source/java/ch/systemsx/cisd/base/unix/Unix.java +++ b/lib-base/source/java/ch/systemsx/cisd/base/unix/Unix.java @@ -42,7 +42,17 @@ public final class Unix } public static boolean isOperational() { - return File.separatorChar == '/'; //On Posix systems the value of this field is '/' + boolean isPosixFileSystem = File.separatorChar == '/'; //On Posix systems the value of this field is '/'; + boolean isIdCommandLineToolAvailable; + + try { + getUid(); + isIdCommandLineToolAvailable = true; + } catch (Throwable t) { + isIdCommandLineToolAvailable = false; + } + + return isPosixFileSystem && isIdCommandLineToolAvailable; } //