основываясь на вашем комментарии к другому ответу, то, что вы просите, очень сложно.
Вы можете проверить библиотеки, к которым подключается приложение, и, если они управляют экраном (например, ncurses), возможно, они интерактивные. Хотя они могут работать «неинтерактивно (по вашему определению)» в определенных ситуациях запуска.
Я думаю, что лучшее, что вы можете сделать, это использовать strace, который покажет вам системные вызовы, которые использует приложение. Если он читает с fd, который привязан к tty, то он интерактивный.