Írtam egy bash scriptet, amiben tetten signal kezelést a ctrl+c -re INT signal.
Ha az én felhasználómé a file, akkor működik, ha más felhasználó futtatja akkor nem. Rendben lefut, de a signal kezelés nem működik.
Mi lehet ennek az oka?
- 1547 megtekintés
Hozzászólások
Ez igy nehezen hiheto. strace mit mutat?
- A hozzászóláshoz be kell jelentkezni
Egy kicsit pontosabban.
Nem a jogosultságtól függ, nem is helyétől.
Ha kirakom a /bin/script és /bin/script ként futtatom, akkor jó, ha script ként, akkor nem és hiába állítom be a -x-et nem lesz trace.
A PATH-ben benne van a /bin.
- A hozzászóláshoz be kell jelentkezni
Reméljük nem script a neve.
- A hozzászóláshoz be kell jelentkezni
Névnek nem jó :)
- A hozzászóláshoz be kell jelentkezni
wtf?
- A hozzászóláshoz be kell jelentkezni
már poénkodni sem lehet? :D
Nem script a neve, de ez szerintem teljesen lényegtelen jelen esetben.
De akkor legyen /bin/miert_nem_jo :)
- A hozzászóláshoz be kell jelentkezni
strace lofasz
- A hozzászóláshoz be kell jelentkezni
su - user vagy
user/pwd?
echo $PATH?
- A hozzászóláshoz be kell jelentkezni
Írtam, hogy mégsem user gond, hanem valami más. Ha teljes eléréssel indítom, akkor jó, ha a PATH keresés alapján, akkor nem.
- A hozzászóláshoz be kell jelentkezni
$PWD?
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
#!/bin/bash
==1. verzio
ping 192.168.1.1
==2. verzio
while true ; do
date +%S
sleep 2
done
==3. verzio
trap "echo nyomkodod?!" SIGINT SIGTERM
echo "pid is $$"
while :
do
sleep 5
done
ezeket ha beírod egy teszt filébe, akkor működik?
- A hozzászóláshoz be kell jelentkezni
"Nem script a neve, de ez szerintem teljesen lényegtelen jelen esetben."
Azért csak nyomon vagy ... :D
Tuti nem a scriptben van a gond írj a scriptbe egy env meg egy set sort:
#!/bin/bash
env
set
Illetve sokat fog segíteni a:
bash -x /bin/scriptem
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
Nem tudom megfogni a hibakeresést.
Ha /bin/scriptem azaz teljes eléréssel adom meg, akkor hibátlanul működik.
Ha scriptem azaz rábízom a PATH-re a helyét, akkor meg nem működik.
- A hozzászóláshoz be kell jelentkezni
öööööö... nem lehet, hogy a PATH-ban mást talál meg előbb?
- A hozzászóláshoz be kell jelentkezni
máshol biztos nincs és whereis is a /bin-t adja vissza
- A hozzászóláshoz be kell jelentkezni
akkor strace-eld meg az egész shelledet, amiből indítod.
- A hozzászóláshoz be kell jelentkezni
useradd -g csop -d /home/csopusr -s /bin/bash csopusr
(
/.bashrc
export PATH=$PATH:/home/csopusr)
ezeket beállítottad?
- A hozzászóláshoz be kell jelentkezni
Sokat segítene maga a script közzététele, ha nem olyan über titkos, mert én személy szerint utálok barkóbázni.
- A hozzászóláshoz be kell jelentkezni
Esküszöm kinyírom magam ......
Letöröltem a /bin/scriptem-et, majd lefuttattam a scriptem-et. Erre azt löktem, hogy nincs ilyen. Majd visszamásoltam, még mindig azt mondta, hogy nincs ilyen. Beléptem egy új terminálba, és láss csodát működik.
Cache-ből töltötte volna be, vagy miért szívatott meg ennyire?
- A hozzászóláshoz be kell jelentkezni
Nem hiszem, hogy cache, jogosultság gond.
Hogyan léptél be, amikor nem ment?
- A hozzászóláshoz be kell jelentkezni
ugyan azzal a felhasználóval
- A hozzászóláshoz be kell jelentkezni
legkozelebb 'hash -r'. nem veletlenul irtam az strace-t
- A hozzászóláshoz be kell jelentkezni
Nem veletlenul irtuk harman a stracet, de ugy tunik nem sikerult megerteni.. :/
- A hozzászóláshoz be kell jelentkezni
Én értem, hogy jó lett volna csinálni ....
Teljes eléréssel tudtam csak stracet készíteni, úgy viszont ment.
Teljes elérés nélkül vagy meg sem csinálta, vagy az éppen a feldolgozandó file sorait akarta végrehajtani, mint parancsot.
- A hozzászóláshoz be kell jelentkezni
A shellt eleve indítsd strace-val, aztán azon belül indítsad a scriptet.
- A hozzászóláshoz be kell jelentkezni