--- configure.ac | 2 +- src/fuser.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) --- configure.ac +++ configure.ac 2018-11-02 13:34:07.811373984 +0000 @@ -132,7 +132,7 @@ AC_CHECK_MEMBERS([struct user_regs_struc struct user_regs_struct.rdi, struct user_regs_struct.rsi, struct user_regs_struct.rdx], [],[], - [#include + [#include #include ]) AC_CHECK_MEMBERS([struct pt_regs.orig_gpr3, struct pt_regs.gpr], [],[], [#include ]) --- src/fuser.c +++ src/fuser.c 2018-11-02 13:34:07.811373984 +0000 @@ -1094,6 +1094,7 @@ int main(int argc, char *argv[]) struct option *optr; char *nsptr; int skip_argv; + int seen_file; struct option options[] = { {"all", 0, NULL, 'a'}, @@ -1137,6 +1138,7 @@ int main(int argc, char *argv[]) #endif atexit(atexit_free_lists); + seen_file = 0; for (argc_cnt = 1; argc_cnt < argc; argc_cnt++) { current_argv = argv[argc_cnt]; if (current_argv[0] == '-') { /* its an option */ @@ -1279,6 +1281,7 @@ int main(int argc, char *argv[]) } } this_name->matched_procs = NULL; + seen_file = 1; if (opts & (OPT_MOUNTS | OPT_ISMOUNTPOINT) && this_name->name_space != NAMESPACE_FILE) { free(this_name); @@ -1332,7 +1335,7 @@ int main(int argc, char *argv[]) names_tail->next = this_name; names_tail = this_name; } /* for across the argvs */ - if (names_head == NULL) + if (names_head == NULL && !seen_file) usage(_("No process specification given")); /* Check if -M flag was used and if so check mounts */