Можно просто использовать logrotate
. Это уже доступно в большинстве систем Linux, и много пакетов уже имеют logrotate сценарии, предварительно сконфигурированные, или можно настроить их или записать собственное.
Да, это PID LS .
определяется POSIX LS
в качестве внешней команды, поэтому в любое время вы выполняете LS
, оболочка должна создавать новый процесс и запустить LS
в этом процессе.
Для этого Shell позвонит SPILE () Системный вызов:
$ strace ls -l /proc/self
execve("/bin/ls", ["ls", "-l", "/proc/self"], [/* 76 vars */]) = 0
Вы можете видеть, после создания нового процесса / Proc / Self
принадлежит к контексту Этот процесс, поэтому он был расширен до PID LS
.
Да, это PID LS
:
/ proc / self Этот каталог относится к процессу, доступу к файловой системе / proc и идентична каталоге / proc, названной идентификатором процесса процесса.
(Из Человек 5 Proc
)
/ Proc / Self
- это символическая ссылка на / proc / pid
для PID процесса, который обращается к ссылке , по магии proc
файловая система.
В вашем случае этот процесс LS
, и поэтому каждый раз, когда вы запускаете команду, вы получаете другой PID (который имеет тенденцию увеличить).