У меня на моем сервере запускается процесс, который, похоже, изменяет то, что видит ps / top, поэтому я не знаю имени файла или пути к нему, поскольку он его скрывает (это сценарий perl). Как я могу отследить, где находится файл на диске?
Под /proc/<pid>/
существуют различные файлы, которые могут помочь вам найти виновника.
cmdline
это командная строка, используемая для запуска процесса (включая параметры). К сожалению, это, по-видимому, также изменяется, если процесс изменяет свою собственную командную строку.cwd
это рабочий каталог процесса, который также может помочьexe
указывает на запущенный исполняемый файл (однако для сценариев Perl, которые будут интерпретатором Perl, поэтому могут быть не так полезны)status
содержит различную информацию. В частности, может быть интересен родительский процесс (Ppid); это будет процесс, запустивший сценарий - может быть полезно выяснить, кто его запускает.fd
, вы найдете список файлов, открытых в данный момент (в виде символических ссылок); Это должно помочь понять, что он делаетВ Linux вы можете проверить символическую ссылку / proc / [PID] / exe, которая указывает на исполняемый файл.