Ticket #155 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Ошибка в скрипте uptime

Reported by: anonymous Owned by: PavelVinogradov
Priority: major Milestone: sams-1.0.3
Component: web Version: 1.0.1
Keywords: uptime Cc:

Description

Один из скриптов SAMS называется uptime, его содержимое "uptime | cut -d',' -f 1 ". Как думаете, что произошло?

Произошло вот что: при входе в веб-интерфейс SAMS у меня стали плодиться процессы sh и cut. Они стали отъедать всю доступную оперативную память и полезли в своп. Процесс ядра, управляющий свопом начал грузить процессор за компанию вместе с sh и cut. Система начала "замораживаться". Через некоторое время был достигнут лимит процессов и невозможно было даже залогиниться с консоли.

Странно, но проблема появилась неожиданно, до этого система непрерывно работала в течение нескольких дней, в web-интерфейс SAMS я заходил неоднократно! Не могу сказать какие изменения в системе могли произойти, перед тем как проблема проявилась.

Я исправил скрипт, указав в нём полный путь к системной команде uptime.

Я понимаю, что я установил SAMS не в те папки, но по-моему всё-таки лучше бы назвать скрипт uptime как-нибудь по-другому, например uptime.sh

Attachments

Change History

follow-up: ↓ 3   Changed 2 years ago by anonymous

Из-за чего такое может произойти, я непонимаю.

  Changed 2 years ago by DmitryChemerik

это был я :) Опятьже, какая систма у автора поста?

in reply to: ↑ 1   Changed 2 years ago by PavelVinogradov

  • owner changed from DmitryChemerik to PavelVinogradov
  • status changed from new to assigned
  • milestone set to sams-1.0.2

Replying to anonymous:

Из-за чего такое может произойти, я не понимаю.

Если в PATH будет прописано сначала искать в текущей директории, а потом в /bin,...

То действительно - такая ситуация возможна. Я согласен что это баг - создавать скрипт имя которого полностью совпадает с системной утилитой - не есть хорошо.

Предлагаю переименовать в getuptime или uptime.sh

  Changed 2 years ago by anonymous

давайте переименуем в getuptime

я думаю что дело вот в чем. скрипт писался и проверялся в режиме работы php safe_mode = On в этом режиме php может обращаться только к скриптам в директории, указанной в safe_mode_exec_dir. В режиме safe_mode обращение к системному uptime в принципе невозможно. скорее всего у автора поста safe-mode = off

  Changed 2 years ago by PavelVinogradov

  • status changed from assigned to closed
  • resolution set to fixed

Fixed in [370]

Add/Change #155 (Ошибка в скрипте uptime)

Author


E-mail address and user name can be saved in the Preferences.


Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.