Strona 1 z 1

[bash] Problem ze skryptem

: 28 czerwca 2006, 15:17
autor: n1k3r
Witam serdecznie!

Napisałem sobie taki skrypcik:

Kod: Zaznacz cały

#!/bin/bash
ulimit -n 4096
/etc/init.d/apache restart
echo -n "Apache restart `date`"
Wszystko jest ok, tylko nie wiem czemu nie zmienia mi wartości w ulimit -n na 4096, błędu żadnego nie wywala.
Natomiast gdy w konsoli wpisze:
ulimit -n 4096
to działa bardzo dobrze.

: 28 czerwca 2006, 23:33
autor: Verdan

Kod: Zaznacz cały

DESCRIPTION
       The  ulimit  utility  shall set or report the file-size writing limit imposed on
       files written *by the shell and its child processes* (files of  any  size  may  be
       read). Only a process with appropriate privileges can increase the limit.
Z czego wynika, że ulimit działa w wywołanej powłoce na jej procesy potomne. Jeśli wrzucisz polecenie do skryptu, który wywołuje nową powłokę ( co robi właśnie instrukcja #!/bin/bash ) ograniczenia zostaną wprowadzone tylko i wyłącznie dla tej nowo wywołanej powłoki.
Use source luke ( z man bash, /source ):

Kod: Zaznacz cały

       source plik [argumenty]
              Odczytuje i  wykonuje  polecenia  z  zadanego  pliku  w  aktualnym
              środowisku  powłoki i zwraca kod zakończenia ostatniego wykonanego
              polecenia z tego pliku. 
Pozdrawiam,
Verdan

: 20 lipca 2006, 20:42
autor: JW
nie wiem do czego to potrzebujesz ale moze do .bash_profile dopisz ;-)