เชฎเชพเชฐเซ เชฆเชฟเชตเชธเชจเซ เชจเซเชเชฐเซ เชฎเซเชเซ เชญเชพเชเซ เชธเซเชซเซเชเชตเซเชฐ เชเชฎเชพเชตเช เชเซ, เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชนเซเช เชชเซเชฐเชถเซเชจเซเชจเชพ เชเชตเชพเชฌ เชเชชเชตเชพ เชฎเชพเชเซ เชเชฃเซ เชธเชฎเชฏ เชชเชธเชพเชฐ เชเชฐเซเช เชเซเช เชเซเชฎ เชเซ:
- เช เชธเซเชซเซเชเชตเซเชฐ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพ เชฎเชพเชเซ เชเชพเชฎ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชฎเชพเชฐเชพ เชฎเชพเชเซ เชจเชนเซเช. เชถเชพ เชฎเชพเชเซ?
- เชเชเชเชพเชฒเซ เช เชธเซเชซเซเชเชตเซเชฐ เชฎเชพเชฐเชพ เชฎเชพเชเซ เชเชพเชฎ เชเชฐเชคเซเช เชนเชคเซเช, เชชเชฐเชเชคเซ เชเชเซ เชคเซ เชจเชฅเซ เชเชฐเชคเซเช. เชถเชพ เชฎเชพเชเซ?
เช เชเช เชชเซเชฐเชเชพเชฐเชจเซเช เชกเซเชฌเชเซเชเช เชเซ เชเซ เชจเชฟเชฏเชฎเชฟเชค เชธเซเชซเซเชเชตเซเชฐ เชกเซเชฌเชเซเชเช เชเชฐเชคเชพ เชฅเซเชกเซเช เช เชฒเช เชเซ. เชจเชฟเชฏเชฎเชฟเชค เชกเชฟเชฌเชเซเชเช เช เชเซเชกเชจเชพ เชคเชฐเซเช เชตเชฟเชถเซ เชเซ, เชชเชฐเชเชคเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช เชกเซเชฌเชเซเชเช เช เชเซเชก เช เชจเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเชเซเชเซเชจเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชตเชฟเชถเซ เชเซ. เชเซ เชธเชฎเชธเซเชฏเชพเชจเซเช เชฎเซเชณ เชคเชพเชฐเซเชเชฟเช เชญเซเชฒ เชนเซเชฏ เชคเซ เชชเชฃ, เชนเชเซเชเชค เช เชเซ เชเซ เชฌเชงเซเช เชเช เชฎเชถเซเชจ เชชเชฐ เชเชพเชฎ เชเชฐเซ เชเซ เช เชจเซ เชฌเซเชเชพ เชชเชฐ เชจเชนเซเช เชคเซเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชธเชฎเชธเซเชฏเชพ เชเซเชเช เชฐเซเชคเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช เชเซ.
เชคเซเชฅเซ เชคเซเชจเชพ เชฌเชฆเชฒเซ เชธเชพเชฎเชพเชจเซเชฏ เชกเชฟเชฌเชเซเชเช เชธเชพเชงเชจเซ เชเซเชตเชพ เชเซเชกเซเชฌเซ เชกเชฟเชฌเชเซเชเช เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช เชฎเชพเชเซ เชฎเชพเชฐเซ เชชเชพเชธเซ เชเซเชฒเซเชธเชจเซ เชเช เช เชฒเช เชธเซเช เชเซ. เช เชจเซ "เช เชธเซเชซเซเชเชตเซเชฐ เชฎเชพเชฐเชพ เชฎเชพเชเซ เชเซเชฎ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ?" เชเซเชตเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซเช เชฎเชพเชฐเซเช เชชเซเชฐเชฟเชฏ เชธเชพเชงเชจ. เชเชนเซเชตเชพเชฏ เชเซ เชธเซเชเซเชฐเซเชธ.
เชธเซเชเซเชฐเซเชธ เชถเซเช เชเซ?
เชฎเซเชณเชญเซเชค เชเชชเซเชฒเชฟเชเซเชถเชจ เชเซเชฌ เช เชธเชฐเชณ เชเซ. เชคเชฎเชพเชฐเซ เชซเชเซเชค เชเซเชเชชเชฃ เชเชฆเซเชถ เชธเชพเชฅเซ เชธเซเชเซเชฐเซเชธ เชเชฒเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เช เชจเซ เชคเซ เชคเชฎเชพเชฎ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธเชจเซ เชกเชฎเซเชช เชเชฐเชถเซ (เชเซเชเซ เชชเชนเซเชฒเชพ เชคเชฎเชพเชฐเซ เชคเซเชจเซ เชเชพเชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเซเช เชชเชกเชถเซ. เชธเซเชเซเชฐเซเชธ):
$ strace echo Hello
...Snip lots of stuff...
write(1, "Hellon", 6) = 6
close(1) = 0
close(2) = 0
exit_group(0) = ?
+++ exited with 0 +++
เช เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชถเซเช เชเซ? เช เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชเชฐเซเชจเชฒ เชฎเชพเชเซ API เชเซเชตเซเช เชเชเชเช เชเซ. เชเช เชธเชฎเชฏเซ, เชธเซเชซเซเชเชตเซเชฐเชจเซ เชคเซ เชเซ เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชเชพเชฒเชคเซเช เชนเชคเซเช เชคเซเชจเซ เชธเซเชงเซ เชเชเซเชธเซเชธ เชนเชคเซ. เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเซเชจเซ เชธเซเชเซเชฐเซเชจ เชชเชฐ เชเชเชเช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชคเซ เชตเชฟเชกเชฟเช เชเชชเชเชฐเชฃเซ เชฎเชพเชเซ เชชเซเชฐเซเช เช เชฅเชตเชพ เชฎเซเชฎเชฐเซ-เชฎเซเชช เชเชฐเซเชฒ เชฐเชเชฟเชธเซเชเชฐ เชธเชพเชฅเซ เชตเชเชพเชกเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซเชฏเชพเชฐเซ เชฎเชฒเซเชเซเชเชพเชธเซเชเซเชเช เชเซเชฎเซเชชเซเชฏเซเชเชฐ เชธเชฟเชธเซเชเชฎเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชฌเชจเซ, เชคเซเชฏเชพเชฐเซ เชตเชฟเชตเชฟเชง เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชฒเชกเชตเชพเชจเซ เชเชพเชฐเชฃเซ เช เชฐเชพเชเชเชคเชพเชจเซเช เชถเชพเชธเชจ เชฅเชฏเซเช. เชเช เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเช เชญเซเชฒเซ เช เชจเซเชฏเชจเซ เชจเซเชเซ เชฒเชพเชตเซ เชถเชเซ เชเซ, เชเซ เชธเชฎเชเซเชฐ เชธเชฟเชธเซเชเชฎ เชจเชนเซเช. เชชเชเซ CPU เชฎเชพเช เชตเชฟเชถเซเชทเชพเชงเชฟเชเชพเชฐ เชฎเซเชกเซเชธ (เช เชฅเชตเชพ "เชฐเชฟเชเช เชชเซเชฐเซเชเซเชเซเชถเชจ") เชฆเซเชเชพเชฏเชพ. เชเชฐเซเชจเชฒ เชธเซเชฅเซ เชตเชงเซ เชตเชฟเชถเซเชทเชพเชงเชฟเชเซเชค เชฌเชจเซเชฏเซเช: เชคเซเชจเซ เชนเชพเชฐเซเชกเชตเซเชฐเชจเซ เชธเชเชชเซเชฐเซเชฃ เชเชเซเชธเซเชธ เชชเซเชฐเชพเชชเซเชค เชฅเช, เชเชเซ เชตเชฟเชถเซเชทเชพเชงเชฟเชเซเชค เชเชชเซเชฒเชฟเชเซเชถเชจเซ เชชเซเชฆเชพ เชเชฐเซ เชเซ เชเซเชจเซ เชชเชนเซเชฒเชพเชฅเซ เช เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชนเชพเชฐเซเชกเชตเซเชฐ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชจเชฒ เชชเชพเชธเซเชฅเซ เชเชเซเชธเซเชธเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเชตเชพเชจเซ เชนเชคเซ.
เชฆเซเชตเชฟเชธเชเชเซ เชธเซเชคเชฐเซ, เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชธเชพเชฎเชพเชจเซเชฏ เชซเชเชเซเชถเชจ เชเซเชฒ เชเชฐเชคเชพเช เชฅเซเชกเซ เช เชฒเช เชนเซเชฏ เชเซ, เชชเชฐเชเชคเซ เชฎเซเชเชพเชญเชพเชเชจเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชฒเชพเชเชฌเซเชฐเซเชฐเซเชฎเชพเช เชฐเซเชชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ. เชคเซ. POSIX C เชธเซเชเชพเชจเซเชกเชฐเซเชก เชฒเชพเชเชฌเซเชฐเซเชฐเซเชฎเชพเช เชซเชเชเซเชถเชจ เชเซเชฒ เชเซ เชฒเชเซ (), เชเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชฎเชพเชเซ เชคเชฎเชพเชฎ เชเชฐเซเชเชฟเชเซเชเซเชเชฐ-เชตเชฟเชถเชฟเชทเซเช เชเซเชก เชงเชฐเชพเชตเซ เชเซ เชฒเชเซ.
เชเซเชเชเชฎเชพเช, เชเชชเซเชฒเชฟเชเซเชถเชจ เช เชจเซ เชคเซเชจเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃ (เชเชฎเซเชชเซเชฏเซเชเชฐ เชธเชฟเชธเซเชเชฎเซเชธ) เชตเชเซเชเซเชจเซ เชเซเชเชชเชฃ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซเชฅเซ, เชเซเชฏเชพเชฐเซ เชธเซเชซเซเชเชตเซเชฐ เชเช เชฎเชถเซเชจ เชชเชฐ เชเชพเชฎ เชเชฐเซ เชเซ เชชเชฐเชเชคเซ เชฌเซเชเชพ เชชเชฐ เชจเชนเซเช, เชคเซเชฏเชพเชฐเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชฐเซเชธเชฟเชเช เชชเชฐเชฟเชฃเชพเชฎเซ เชเซเชตเชพเชจเซเช เชธเชพเชฐเซเช เชฐเชนเซเชถเซ. เชตเชงเซ เชตเชฟเชถเชฟเชทเซเช เชฐเซเชคเซ, เช เชนเซเช เชฒเชพเชเซเชทเชฃเชฟเช เชฌเชฟเชเชฆเซเชเชจเซ เชธเซเชเชฟ เชเซ เชเซเชจเซเช เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชฐเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ เชถเชเชพเชฏ เชเซ:
- เชเชจเซเชธเซเชฒ I/O
- เชจเซเชเชตเชฐเซเช I/O
- เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ เชเชเซเชธเซเชธ เช เชจเซ เชซเชพเชเชฒ I/O
- เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฅเซเชฐเซเชกเชจเชพ เชเซเชตเชจเชเชพเชณเชจเซเช เชธเชเชเชพเชฒเชจ
- เชฒเซ-เชฒเซเชตเชฒ เชฎเซเชฎเชฐเซ เชฎเซเชจเซเชเชฎเซเชจเซเช
- เชเซเชเซเชเชธ เชเชชเชเชฐเชฃ เชกเซเชฐเชพเชเชตเชฐเซเชจเซ เชเชเซเชธเซเชธ
เชธเซเชเซเชฐเซเชธเชจเซ เชเชชเชฏเซเช เชเซเชฏเชพเชฐเซ เชเชฐเชตเซ?
เชธเชฟเชฆเซเชงเชพเชเชค เชฎเชพเช, เชธเซเชเซเชฐเซเชธ เชฏเซเชเชฐ เชธเซเชชเซเชธเชฎเชพเช เชเซเชเชชเชฃ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชธเชพเชฅเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ, เชเชพเชฐเชฃ เชเซ เชฏเซเชเชฐ เชธเซเชชเซเชธเชฎเชพเช เชเซเชเชชเชฃ เชชเซเชฐเซเชเซเชฐเชพเชฎเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเชฐเชตเชพ เช เชเซเชเช. เชคเซ เชธเชเชเชฒเชฟเชค, เชจเชฟเชฎเซเชจ-เชธเซเชคเชฐเชจเชพ เชเชพเชฐเซเชฏเชเซเชฐเชฎเซ เชธเชพเชฅเซ เชตเชงเซ เชเชพเชฐเซเชฏเชเซเชทเชฎ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชเซ เชคเชฎเซ เชฐเชจเชเชพเชเชฎ เช เชจเซ เชฆเซเชญเชพเชทเชฟเชฏเชพเชจเชพ เชตเชงเชพเชฐเชพเชจเชพ เช เชตเชพเชเชจเซ เชเชพเชชเซ เชถเชเซ เชคเซ เชคเซ เชชเชพเชฏเชฅเซเชจ เชเซเชตเซ เชเชเซเช-เชธเซเชคเชฐเชจเซ เชญเชพเชทเชพเช เชธเชพเชฅเซ เชชเชฃ เชเชพเชฎ เชเชฐเซ เชเซ.
เชคเซเชจเชพ เชคเชฎเชพเชฎ เชฎเชนเชฟเชฎเชพเชฎเชพเช เชธเซเชเซเชฐเซเชธ เชเช เชฎเชถเซเชจ เชชเชฐ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชคเชพ เชธเซเชซเซเชเชตเซเชฐเชจเชพ เชกเซเชฌเชเซเชเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเซเชคเชพเชจเซ เชชเซเชฐเชเช เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เช
เชเชพเชจเช เชฌเซเชเชพ เชชเชฐ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชฌเชเชง เชเชฐเซ เชฆเซ เชเซ, เชซเชพเชเชฒเซ, เชชเชฐเชตเชพเชจเชเซเช เชตเชฟเชถเซ เช
เชธเซเชชเชทเซเช เชธเชเชฆเซเชถเชพเช เชเชคเซเชชเชจเซเชจ เชเชฐเซ เชเซ, เช
เชฅเชตเชพ เช
เชฎเซเช เชเชฆเซเชถเซ เช
เชฅเชตเชพ เช
เชจเซเชฏ เชเซเช เชตเชธเซเชคเซเชจเซ เชเชฒเชพเชตเชตเชพเชจเชพ เช
เชธเชซเชณ เชชเซเชฐเชฏเชพเชธเซ... เชคเซ เช
เชซเชธเซเชธเชจเซ เชตเชพเชค เชเซ, เชชเชฐเชเชคเซ เชคเซ เชฅเชคเซเช เชจเชฅเซ. เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชเชเชพเชธเชฃเซ เชญเซเชฒเซ เชเซเชตเซ เชเชเซเช-เชธเซเชคเชฐเชจเซ เชธเชฎเชธเซเชฏเชพเช เชธเชพเชฅเซ เชเซเชฌ เชธเชพเชฐเซ เชฐเซเชคเซ เชเซเชกเชพเชฏ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เช เชฎเชพเชเซ เชธเชเชฏเซเชเชจ เชเชฐเซเชฐเซ เชเซ เชธเซเชเซเชฐเซเชธเชเซเชฏเชพเชฐเซเช
เช เชฎเซ เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชธเซเชเซเชจเซเชกเช เชฒเซเชจ เชธเชฐเซเชตเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช, เชชเชฐเชเชคเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชฐเซเชธเชฟเชเช เชเชฃเซเชตเชพเชฐ เชตเชงเซ เชเชเชฟเชฒ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเชฐ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชคเชฎเชพเชฐเซ เชซเชเซเชค เชฏเซเชเซเชฏ เชธเชพเชงเชจเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชธเชฐเชณ เชกเซเชฌเชเซเชเช เชเชฆเชพเชนเชฐเชฃ
เชเชพเชฒเซ เชเชนเซเช เชเซ เชคเชฎเซ เช เชฆเซเชญเซเชค เชธเชฐเซเชตเชฐ เชเชชเซเชฒเชฟเชเซเชถเชจ foo เชเชฒเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซ, เช เชจเซ เช เชคเซ เชเซ เชเซเชจเซ เชธเชพเชฅเซ เชคเชฎเซ เชธเชฎเชพเชชเซเชค เชฅเชถเซ:
$ foo
Error opening configuration file: No such file or directory
เชฆเซเชเซเชคเซ เชฐเซเชคเซ เชคเซ เชคเชฎเซ เชฒเชเซเชฒเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชถเซเชงเซ เชถเชเซเชฏเซเช เชจเชฅเซ. เชเชตเซเช เชฅเชพเชฏ เชเซ เชเชพเชฐเชฃ เชเซ เชเซเชเชฒเซเชเชตเชพเชฐ เชเซเชฏเชพเชฐเซ เชชเซเชเซเช เชฎเซเชจเซเชเชฐเซเชธ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชฎเซเชชเชพเชเชฒ เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซเช เช เชชเซเชเซเชทเชฟเชค เชซเชพเชเชฒ เชธเซเชฅเชพเชจเซเชจเซ เชเชตเชฐเชฐเชพเชเชก เชเชฐเซ เชเซ. เช เชจเซ เชเซ เชคเชฎเซ เชเช เชตเชฟเชคเชฐเชฃ เชฎเชพเชเซ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเชจเซ เช เชจเซเชธเชฐเซ เชเซ, เชคเซ เชฌเซเชเชพเชฎเชพเช เชคเชฎเชจเซ เชคเชฎเชพเชฐเซ เช เชชเซเชเซเชทเชพ เชนเชคเซ เชคเซ เชเชฐเชคเชพเช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เช เชฒเช เชซเชพเชเชฒเซ เชฎเชณเชถเซ. เชเซ เชญเซเชฒ เชธเชเชฆเซเชถเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชเซเชฏเชพเช เชถเซเชงเชตเซ เชคเซ เชเชฃเชพเชตเซเชฏเซเช เชนเซเชฏ เชคเซ เชธเชฎเชธเซเชฏเชพ เชฅเซเชกเซ เชธเซเชเชเชกเชฎเชพเช เชเชเซเชฒเซ เชถเชเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชฅเชคเซเช เชจเชฅเซ. เชคเซ เชเซเชฏเชพเช เชเซเชตเซเช?
เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชธเซเชฐเซเชค เชเซเชกเชจเซ เชเชเซเชธเซเชธ เชนเซเชฏ, เชคเซ เชคเชฎเซ เชคเซเชจเซ เชตเชพเชเชเซ เชถเชเซ เชเซ เช เชจเซ เชฌเชงเซเช เชถเซเชงเซ เชถเชเซ เชเซ. เชธเชพเชฐเซ เชฌเซเชเช เชช เชฏเซเชเชจเชพ, เชชเชฐเชเชคเซ เชธเซเชฅเซ เชเชกเชชเซ เชเชเซเชฒ เชจเชฅเซ. เชคเชฎเซ เชธเซเชเซเชช-เชฌเชพเชฏ-เชธเซเชเซเชช เชกเซเชฌเชเชฐ เชเซเชตเชพ เชเชถเชฐเซ เชฒเช เชถเชเซ เชเซ เชเซเชกเซเชฌเซ เช เชจเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชถเซเช เชเชฐเซ เชเซ เชคเซ เชเซเช, เชชเชฐเชเชคเซ เชคเซ เชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชตเชงเซ เช เชธเชฐเชเชพเชฐเช เชเซ เชเซ เชเชพเชธ เชเชฐเซเชจเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชฌเชคเชพเชตเชตเชพ เชฎเชพเชเซ เชฐเชเชพเชฏเซเชฒ เชเซ: เชธเซเชเซเชฐเซเชธ.
เชจเชฟเชทเซเชเชฐเซเชท เชธเซเชเซเชฐเซเชธ เชฌเชฟเชจเชเชฐเซเชฐเซ เชฒเชพเชเซ เชเซ, เชชเชฐเชเชคเซ เชธเชพเชฐเชพ เชธเชฎเชพเชเชพเชฐ เช เชเซ เชเซ เชคเซเชฎเชพเชเชจเชพ เชฎเซเชเชพ เชญเชพเชเชจเชพเชจเซ เชธเซเชฐเชเซเชทเชฟเชค เชฐเซเชคเซ เช เชตเชเชฃเซ เชถเชเชพเชฏ เชเซ. เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เช เชฒเช เชซเชพเชเชฒเชฎเชพเช เชธเชพเชเชตเชตเชพ เชฎเชพเชเซ -o เชเชชเชฐเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเชฃเซเชตเชพเชฐ เชเชชเชฏเซเชเซ เชเซ:
$ strace -o /tmp/trace foo
Error opening configuration file: No such file or directory
$ cat /tmp/trace
execve("foo", ["foo"], 0x7ffce98dc010 /* 16 vars */) = 0
brk(NULL) = 0x56363b3fb000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=25186, ...}) = 0
mmap(NULL, 25186, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2f12cf1000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "177ELF2113 3 > 1 260A2 "..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1824496, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f12cef000
mmap(NULL, 1837056, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f2f12b2e000
mprotect(0x7f2f12b50000, 1658880, PROT_NONE) = 0
mmap(0x7f2f12b50000, 1343488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f2f12b50000
mmap(0x7f2f12c98000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16a000) = 0x7f2f12c98000
mmap(0x7f2f12ce5000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x7f2f12ce5000
mmap(0x7f2f12ceb000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2f12ceb000
close(3) = 0
arch_prctl(ARCH_SET_FS, 0x7f2f12cf0500) = 0
mprotect(0x7f2f12ce5000, 16384, PROT_READ) = 0
mprotect(0x56363b08b000, 4096, PROT_READ) = 0
mprotect(0x7f2f12d1f000, 4096, PROT_READ) = 0
munmap(0x7f2f12cf1000, 25186) = 0
openat(AT_FDCWD, "/etc/foo/config.json", O_RDONLY) = -1 ENOENT (No such file or directory)
dup(2) = 3
fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
brk(NULL) = 0x56363b3fb000
brk(0x56363b41c000) = 0x56363b41c000
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x8), ...}) = 0
write(3, "Error opening configuration file"..., 60) = 60
close(3) = 0
exit_group(1) = ?
+++ exited with 1 +++
เชเชเชเชชเซเชเชจเซเช เชฒเชเชญเช เชเชเซเช เชชเซเชฐเชฅเชฎ เชชเซเชทเซเช เชธเซเชเซเชฐเซเชธ - เช เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชฒเซเชเช เชฎเชพเชเซ เชจเซเชเชพ เชธเซเชคเชฐเชจเซ เชคเซเชฏเชพเชฐเซ เชเซ. (เชเชฃเชพ เชเซเชฒเซเชธ mmap, mprotect, เชเซเชตเชฟเชฒ เชจเชฟเชฎเซเชจ-เชธเซเชคเชฐเชจเซ เชฎเซเชฎเชฐเซ เชถเซเชงเชตเชพ เช เชจเซ เชกเชพเชฏเชจเซเชฎเชฟเช เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชตเชพ เชเซเชตเซ เชฌเชพเชฌเชคเซ เชฎเชพเชเซ.) เชเชฐเซเชเชฐ, เชเชเชเชชเซเช เชกเซเชฌเชเซเชเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเซเชเซเชฐเซเชธ เชเซเชฌ เช เช เชเชคเชฅเซ เชตเชพเชเชเชตเซเช เชตเชงเซ เชธเชพเชฐเซเช เชเซ. เชจเซเชเซ เชเช เชชเชกเชเชพเชฐ เชนเชถเซ เชฒเชเซ, เชเซ เชญเซเชฒ เชธเชเชฆเซเชถ เชฆเชฐเซเชถเชพเชตเซ เชเซ. เช เชฎเซ เชเชชเชฐ เชเซเชเช เชเซเช เช เชจเซ เชชเซเชฐเชฅเชฎ เชญเซเชฒเชญเชฐเซเชฒเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ - เชเซเชฒ เชเซเช เชเชชเชจเซเช, เชเซ เชญเซเชฒ เชซเซเชเชเซ เชเซ ENOENT ("เชซเชพเชเชฒ เช เชฅเชตเชพ เชกเชฟเชฐเซเชเซเชเชฐเซ เชฎเชณเซ เชจเชฅเซ") เชเซเชฒเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซ เชเซ /etc/foo/config.json. เช เชคเซ เชเซ เชเซเชฏเชพเช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชนเซเชตเซ เชเซเชเช.
เช เชฎเชพเชคเซเชฐ เชเช เชเชฆเชพเชนเชฐเชฃ เชนเชคเซเช, เชชเชฐเชเชคเซ เชนเซเช เชเชชเชฏเซเช เชเชฐเซเช เชเซเช เชคเซ เชธเชฎเชฏเชจเชพ 90% เชนเซเช เชเชนเซเชถ เชธเซเชเซเชฐเซเชธ, เชเชจเชพ เชเชฐเชคเชพเช เชตเชงเซ เชฎเซเชถเซเชเซเชฒ เชเชเช เชจเชฅเซ. เชจเซเชเซ เชเช เชธเชเชชเซเชฐเซเชฃ เชชเชเชฒเซเช-เชฆเชฐ-เชชเชเชฒเชพเช เชกเชฟเชฌเชเซเชเช เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพ เชเซ:
- เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเชเชฅเซ เชธเชฟเชธเซเชเชฎ-เชตเชพเชฏ เชญเซเชฒ เชตเชฟเชถเซ เช เชธเซเชชเชทเซเช เชธเชเชฆเซเชถเชพเชจเซ เชเชพเชฐเชฃเซ เช เชธเซเชตเชธเซเชฅ เชฅเชพเช
- เชธเชพเชฅเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ เชธเซเชเซเชฐเซเชธ
- เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชฎเชพเช เชญเซเชฒ เชธเชเชฆเซเชถ เชถเซเชงเซ
- เชเซเชฏเชพเช เชธเซเชงเซ เชคเชฎเซ เชชเซเชฐเชฅเชฎ เชจเชฟเชทเซเชซเชณ เชธเชฟเชธเซเชเชฎ เชเซเชฒเชจเซ เชนเชฟเช เชจ เชเชฐเซ เชคเซเชฏเชพเช เชธเซเชงเซ เชเชชเชฐ เชเชพเช
เชคเซ เชเซเชฌ เช เชธเชเชญเชต เชเซ เชเซ เชชเชเชฒเซเช 4 เชฎเชพเช เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชถเซเช เชเซเชเซเช เชฅเชฏเซเช เชคเซ เชเชพเชนเซเชฐ เชเชฐเชถเซ.
เชธเชเชเซเชคเซ
เชคเชฎเชจเซ เชตเชงเซ เชเชเชฟเชฒ เชกเชฟเชฌเชเซเชเชเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชฌเชคเชพเชตเชคเชพ เชชเชนเซเชฒเชพ, เชนเซเช เชคเชฎเชจเซ เช เชธเชฐเชเชพเชฐเช เชเชชเชฏเซเช เชฎเชพเชเซ เชฅเซเชกเซ เชฏเซเชเซเชคเชฟเช เชฌเชคเชพเชตเซเชถ เชธเซเชเซเชฐเซเชธ:
เชฎเชพเชฃเชธ เชคเชฎเชพเชฐเซ เชฎเชฟเชคเซเชฐ เชเซ
เชเชฃเซ *nix เชธเชฟเชธเซเชเชฎเซ เชชเชฐ, เชเชฐเซเชจเชฒ เชชเชฐ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธเชจเซ เชธเชเชชเซเชฐเซเชฃ เชธเซเชเชฟ เชเชพเชฒเซเชจเซ เชฎเซเชณเชตเซ เชถเชเชพเชฏ เชเซ เชฎเชพเชฃเชธ syscalls. เชคเชฎเซ เชเซเชตเซ เชตเชธเซเชคเซเช เชเซเชถเซ brk(2), เชเซเชจเซ เช เชฐเซเชฅ เชเซ เชเซ เชตเชงเซ เชฎเชพเชนเชฟเชคเซ เชเชฒเชพเชตเซเชจเซ เชฎเซเชณเชตเซ เชถเชเชพเชฏ เชเซ เชฎเชพเชฃเชธ 2 brk.
เชจเชพเชจเซ เชฐเซเช: เชฎเชพเชฃเชธ 2 เชเชพเชเชเซ เชฎเชจเซ เชถเซเชฒ เชฎเชพเชเซเชจเซเช เชชเซเชทเซเช เชฌเชคเชพเชตเซ เชเซ เชเชพเชเชเซ () ะฒ GNU libc, เชเซ, เชคเซ เชคเชพเชฐเชฃ เชเชชเซ เชเซ, เชเซเชฒ เชฆเซเชตเชพเชฐเชพ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซเชฒเซเชจ(). เชธเชฟเชฎเซเชจเซเชเชฟเชเซเชธเชจเซ เชเซเชฒ เชเชฐเซ เชเชพเชเชเซ เชเซ เชคเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฒเชเซ เชคเซ เชคเซ เช เชฐเชนเซ เชเซ เชเชพเชเชเซ (), เช เชจเซ เชเซเชฐเซเชธ เชเชฒเชพเชตเซ - เชฎเชจเซ เชเซเช เชเซเชฒเซเชธ เชฎเชณเชถเซ เชจเชนเซเช เชเชพเชเชเซ, เชคเซเชจเชพ เชฌเชฆเชฒเซ เชคเซเชฏเชพเช เชนเชถเซ เชเซเชฒเซเชจ(). เชเซ เชคเชฎเซ เชเชเชเชชเซเช เชธเชพเชฅเซ เชธเซเชคเซเชฐเซเชคเชจเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชคเซ เช เชเชตเชพ เชฐเซเชเซเชธ เชคเชฎเชจเซ เชฎเซเชเชเชตเชฃเชฎเชพเช เชฎเซเชเซ เชเซ เชธเซเชเซเชฐเซเชธ.
เชซเชพเชเชฒเชฎเชพเช เชเชเชเชชเซเช เชธเชพเชเชตเชตเชพ เชฎเชพเชเซ -o เชจเซ เชเชชเชฏเซเช เชเชฐเซ
เชธเซเชเซเชฐเซเชธ เชตเซเชฏเชพเชชเช เชเชเชเชชเซเช เชเชจเชฐเซเช เชเชฐเซ เชถเชเซ เชเซ, เชคเซเชฅเซ เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เช เชฒเช เชซเชพเชเชฒเซเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชเชฃเซ เชตเชเชค เชเชชเชฏเซเชเซ เชเซ (เชเชชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช). เช เชเชเชเชชเซเช เชธเชพเชฅเซ เชเซเชเชเชตเชฃเชญเชฐเซเชฏเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเชเชเชชเซเชเชจเซ เชเชพเชณเชตเชพเชฎเชพเช เชชเชฃ เชฎเชฆเชฆ เชเชฐเซ เชเซ เชธเซเชเซเชฐเซเชธ เชเชจเซเชธเซเชฒ เชฎเชพเช.
เชตเชงเซ เชฆเชฒเซเชฒ เชกเซเชเชพ เชเซเชตเชพ เชฎเชพเชเซ -s เชจเซ เชเชชเชฏเซเช เชเชฐเซ
เชคเชฎเซ เชจเซเชเชงเซเชฏเซเช เชนเชถเซ เชเซ เชญเซเชฒ เชธเชเชฆเซเชถเชจเซ เชฌเซเชเซ เชญเชพเช เชเชชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃ เชเซเชฐเซเชธเชฎเชพเช เชฌเชคเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชจเชฅเซ. เชคเซ เชเชพเชฐเชฃ เชเซ เชธเซเชเซเชฐเซเชธ เชกเชฟเชซเซเชฒเซเช เชธเซเชเซเชฐเชฟเชเช เชฆเชฒเซเชฒเชจเชพ เชฎเชพเชคเซเชฐ เชชเซเชฐเชฅเชฎ 32 เชฌเชพเชเชเซเชธ เชฌเชคเชพเชตเซ เชเซ. เชเซ เชคเชฎเซ เชตเชงเซ เชเซเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ เชเชเชเช เชเชฎเซเชฐเซ -เชธ 128 เชเซเชฒ เชฎเชพเชเซ เชธเซเชเซเชฐเซเชธ.
-y เชซเชพเชเชฒเซ, เชธเซเชเซเชเซเชธ เชตเชเซเชฐเซเชจเซ เชเซเชฐเซ เช เชเชฐเชตเชพเชจเซเช เชธเชฐเชณ เชฌเชจเชพเชตเซ เชเซ.
"เชฌเชงเซเช เชซเชพเชเชฒ เชเซ" เชจเซ เช เชฐเซเชฅ เชเซ เชเซ *เชจเชฟเชเซเชธ เชธเชฟเชธเซเชเชฎเซเชธ เชซเชพเชเชฒ เชตเชฐเซเชฃเชจเชเชฐเซเชคเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเชฎเชพเชฎ I/O เชเชฐเซ เชเซ, เชชเชเซ เชญเชฒเซ เชคเซ เชซเชพเชเชฒ เช เชฅเชตเชพ เชจเซเชเชตเชฐเซเช เช เชฅเชตเชพ เชเชจเซเชเชฐเชชเซเชฐเซเชธเซเชธ เชชเชพเชเชชเซเชจเซ เชฒเชพเชเซ เชชเชกเซ. เช เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชฎเชพเชเซ เช เชจเซเชเซเชณ เชเซ, เชชเชฐเชเชคเซ เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชธเชพเชฎเชพเชจเซเชฏ เชเซเช เชคเซเชฏเชพเชฐเซ เชเชฐเซเชเชฐ เชถเซเช เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ เชคเซเชจเซ เชเซเชฐเซ เช เชฐเชพเชเชตเซ เชฎเซเชถเซเชเซเชฒ เชฌเชจเชพเชตเซ เชเซ เชตเชพเชเชเชตเซเช ะธ เชฒเชเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชฎเชพเช.
เชเชชเชฐเซเชเชฐ เชเชฎเซเชฐเซเชจเซ -ั, เชคเชฎเซ เชฆเชฌเชพเชฃ เชเชฐเชถเซ เชธเซเชเซเชฐเซเชธ เชเชเชเชชเซเชเชฎเชพเช เชฆเชฐเซเช เชซเชพเชเชฒ เชตเชฐเซเชฃเชจเชเชฐเซเชคเชพเชจเซ เชคเซ เชถเซเช เชจเชฟเชฐเซเชฆเซเชถ เชเชฐเซ เชเซ เชคเซเชจเซ เชจเซเชเชง เชธเชพเชฅเซ เชเซเชเชพ เชเชฐเซ.
-p** เชธเชพเชฅเซ เชชเชนเซเชฒเซเชฅเซ เชเชพเชฒเซ เชฐเชนเซเชฒเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชธเชพเชฅเซ เชเซเชกเซ
เชเซเชฎ เชคเชฎเซ เชจเซเชเซเชจเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเชเชฅเซ เชเซเชถเซ, เชเซเชเชฒเซเชเชตเชพเชฐ เชคเชฎเชพเชฐเซ เชชเชนเซเชฒเชพเชฅเซ เชเชพเชฒเซ เชฐเชนเซเชฒ เชชเซเชฐเซเชเซเชฐเชพเชฎเชจเซ เชเซเชฐเซเชธ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเซ เชคเซ เชเชพเชฃเซเชคเซเช เชเซ เชเซ เชคเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ 1337 เชคเชฐเซเชเซ เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ (เชเชนเซ, เชเชเชเชชเซเชเชฎเชพเชเชฅเซ ps), เชคเซ เชชเชเซ เชคเชฎเซ เชคเซเชจเซ เช เชฐเซเชคเซ เชถเซเชงเซ เชถเชเซ เชเซ:
$ strace -p 1337
...system call trace output...
เชคเชฎเชจเซ เชฐเซเช เช เชงเชฟเชเชพเชฐเซเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชถเชเซ เชเซ.
เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเช เชชเชฐ เชฆเซเชเชฐเซเช เชฐเชพเชเชตเชพ เชฎเชพเชเซ -f เชจเซ เชเชชเชฏเซเช เชเชฐเซ
เชธเซเชเซเชฐเซเชธ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชคเซ เชฎเชพเชคเซเชฐ เชเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเซเชฐเซเชธ เชเชฐเซ เชเซ. เชเซ เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชจเซ เชเชจเซเชฎ เชเชชเซ เชเซ, เชคเซ เชชเชเซ เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชซเซเชฒเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเช เชถเชเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเชพ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ เชจเชนเซเช.
เชเซ เชคเชฎเชจเซ เชฒเชพเชเซ เชเซ เชญเซเชฒ เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชฎเชพเช เชเซ, เชคเซ เชจเชฟเชตเซเชฆเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ -f, เช เชคเซเชจเชพ เชเซเชฐเซเชธเชฟเชเชเชจเซ เชธเชเซเชทเชฎ เชเชฐเชถเซ. เชเชจเซเช เชจเซเชเชธเชพเชจ เช เชเซ เชเซ เชเชเชเชชเซเช เชคเชฎเชจเซ เชตเชงเซ เชฎเซเชเชเชตเชฃเชฎเชพเช เชฎเซเชเชถเซ. เชเซเชฏเชพเชฐเซ เชธเซเชเซเชฐเซเชธ เชเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เช
เชฅเชตเชพ เชเช เชฅเซเชฐเซเชกเชจเซ เชเซเชฐเซเชธ เชเชฐเซ เชเซ, เชคเซ เชเซเชฒ เชเชตเซเชจเซเชเซเชธเชจเซ เชเช เชธเซเชเซเชฐเซเชฎ เชฌเชคเชพเชตเซ เชเซ. เชเซเชฏเชพเชฐเซ เชคเซ เชเชเชธเชพเชฅเซ เช
เชจเซเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชเชจเซ เชเซเชฐเซเชธ เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเชฎเซ เชธเชเชฆเซเชถ เชฆเซเชตเชพเชฐเชพ เชตเชฟเชเซเชทเซเชชเชฟเชค เชเซเชฒเชจเซ เชถเชฐเซเชเชค เชเซเช เชถเชเซ เชเซ , เชชเชเซ - เช
เชจเซเชฏ เชเชเซเชเซเชเซเชฏเซเชถเชจ เชถเชพเชเชพเช เชฎเชพเชเซ เชเซเชฒเซเชธเชจเซ เชธเชฎเซเชน, เช
เชจเซ เชคเซ เชชเชเซ เช - เชชเซเชฐเชฅเชฎเชจเซ เช
เชเชค . เช
เชฅเชตเชพ เชเชชเชฐเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเชฎเชพเชฎ เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชตเชฟเชตเชฟเชง เชซเชพเชเชฒเซเชฎเชพเช เชตเชฟเชญเชพเชเชฟเชค เชเชฐเซ -ff (เชฎเชพเช เชตเชฟเชเชคเซ
-e เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชจเชฟเชถเชพเชจเซ เชซเชฟเชฒเซเชเชฐ เชเชฐเซ
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เชเซเชฐเซเชธเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เช เชคเชฎเชพเชฎ เชธเชเชญเชตเชฟเชค เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธเชจเซ เชตเชพเชธเซเชคเชตเชฟเช เชเซเชเชเซ เชเซ. เชงเซเชตเช -e เชคเชฎเซ เชเซเชฐเซเชธ เชซเชฟเชฒเซเชเชฐ เชเชฐเซ เชถเชเซ เชเซ (เชเซเช
เชฌเชงเซ เชญเซเชฒเซ เชเชฐเชพเชฌ เชจเชฅเซ เชนเซเชคเซ
เชเช เชธเชฐเชณ เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชเชฆเชพเชนเชฐเชฃ เช เชเช เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเซ เชเซ เชเชเชธเชพเชฅเซ เชเชฃเซ เชเชเซเชฏเชพเช เชซเชพเชเชฒ เชถเซเชงเซ เชฐเชนเซเชฏเซ เชเซ, เชเซเชฎ เชเซ เชถเซเชฒ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชซเชพเชเชฒ เชงเชฐเชพเชตเชคเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชถเซเชงเซ เชฐเชนเซเชฏเซ เชเซ:
$ strace sh -c uname
...
stat("/home/user/bin/uname", 0x7ffceb817820) = -1 ENOENT (No such file or directory)
stat("/usr/local/bin/uname", 0x7ffceb817820) = -1 ENOENT (No such file or directory)
stat("/usr/bin/uname", {st_mode=S_IFREG|0755, st_size=39584, ...}) = 0
...
"เชญเซเชฒเชจเซ เชเชพเชฃ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชเซเชฒเซเชฒเซ เชจเชฟเชทเซเชซเชณ เชตเชฟเชจเชเชคเซ" เชเซเชตเซ เชนเซเชฏเซเชฐเชฟเชธเซเชเชฟเชเซเชธ เชธเชเชฌเชเชงเชฟเชค เชญเซเชฒเซ เชถเซเชงเชตเชพเชฎเชพเช เชธเชพเชฐเซ เชเซ. เชญเชฒเซ เชคเซ เชฌเชจเซ เชถเชเซ, เชคเซ เชเซเชฌ เช เช เชเชคเชฅเซ เชถเชฐเซ เชเชฐเชตเซเช เชคเชพเชฐเซเชเชฟเช เชเซ.
เชธเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชเซเชฏเซเชเซเชฐเชฟเชฏเชฒเซเชธ เชคเชฎเชจเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชธเชฎเชเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชถเชเซ เชเซ.
C เชฒเชพเชเชฌเซเชฐเซเชฐเซเช เชฎเชพเชเซ เชฎเชพเชจเช เชเซเชฒเซเชธ เช เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชจเชฅเซ, เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ เชเช เชชเชพเชคเชณเชพ เชธเชชเชพเชเซ เชธเซเชคเชฐ เชเซ. เชคเซเชฅเซ, เชเซ เชคเชฎเซ เชเชเชพเชฎเชพเช เชเชเซเช เชฅเซเชกเซเช เชธเชฎเชเซ เชเซ เชเซ C เชฎเชพเช เชเซเชตเซ เชฐเซเชคเซ เช
เชจเซ เชถเซเช เชเชฐเชตเซเช, เชคเซ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชฐเซเชธเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชธเชฎเชเชตเซเช เชธเชฐเชณ เชฌเชจเชถเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชคเชฎเชจเซ เชจเซเชเชตเชฐเซเช เชธเชฟเชธเซเชเชฎเซเชธ เชชเชฐ เชเซเชฒ เชกเชฟเชฌเช เชเชฐเชตเชพเชฎเชพเช เชธเชฎเชธเซเชฏเชพ เชเซ, เชคเซ เช เชเซเชฒเชพเชธเชฟเช เชเซเช
เชตเชงเซ เชเชเชฟเชฒ เชกเซเชฌเชเซเชเช เชเชฆเชพเชนเชฐเชฃ
เชฎเซเช เชชเชนเซเชฒเซเชฅเซ เช เชเชนเซเชฏเซเช เชเซ เชเซ เชธเชฐเชณ เชกเชฟเชฌเชเซเชเชเชจเซเช เชเชฆเชพเชนเชฐเชฃ เช เชเช เชเชฆเชพเชนเชฐเชฃ เชเซ เชเซ เชเซเชจเซ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชคเซ เชตเชเชคเซ เชฎเชพเชฐเซ เชฎเซเชเซ เชญเชพเชเซ เชถเซเช เชเชฐเชตเซเช เชชเชกเซ เชเซ เชธเซเชเซเชฐเซเชธ. เชเซ เชเซ, เชเซเชเชฒเซเชเชตเชพเชฐ เชตเชพเชธเซเชคเชตเชฟเช เชคเชชเชพเชธ เชเชฐเซเชฐเซ เชนเซเชฏ เชเซ, เชคเซเชฅเซ เช เชนเซเช เชตเชงเซ เช เชฆเซเชฏเชคเชจ เชกเซเชฌเชเซเชเชเชจเซเช เชตเชพเชธเซเชคเชตเชฟเช เชเซเชตเชจเชจเซเช เชเชฆเชพเชนเชฐเชฃ เชเซ.
# crontab -e -u logs
bcrontab: Fatal: Could not create temporary file
เช เซเช เชเซ, เชคเซเชจเซ เช เชฐเซเชฅ เชเซ bcron เชเซเชเซเชเชธ เชซเชพเชเชฒ เชฒเชเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ, เชชเชฐเชเชคเซ เชคเซ เชเชพเชฎ เชจ เชเชฐเซเชฏเซเช, เช เชจเซ เชคเซ เชถเชพ เชฎเชพเชเซ เชธเซเชตเซเชเชพเชฐเชถเซ เชจเชนเซเช. เช เชจเชเชตเชฐเชฟเชเช เชธเซเชเซเชฐเซเชธ:
# strace -o /tmp/trace crontab -e -u logs
bcrontab: Fatal: Could not create temporary file
# cat /tmp/trace
...
openat(AT_FDCWD, "bcrontab.14779.1573691864.847933", O_RDONLY) = 3
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f82049b4000
read(3, "#Ansible: logsaggn20 14 * * * lo"..., 8192) = 150
read(3, "", 8192) = 0
munmap(0x7f82049b4000, 8192) = 0
close(3) = 0
socket(AF_UNIX, SOCK_STREAM, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/bcron-spool"}, 110) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f82049b4000
write(3, "156:Slogs #Ansible: logsaggn20 1"..., 161) = 161
read(3, "32:ZCould not create temporary f"..., 8192) = 36
munmap(0x7f82049b4000, 8192) = 0
close(3) = 0
write(2, "bcrontab: Fatal: Could not creat"..., 49) = 49
unlink("bcrontab.14779.1573691864.847933") = 0
exit_group(111) = ?
+++ exited with 111 +++
เชเซเชฌ เช เช เชเชคเชจเซ เชจเชเซเช เชเช เชญเซเชฒ เชธเชเชฆเซเชถ เชเซ เชฒเชเซ, เชชเชฐเชเชคเซ เช เชตเชเชคเซ เชเชเชเช เช เชฒเช เชเซ. เชชเซเชฐเชฅเชฎ, เชคเซเชฏเชพเช เชเซเช เชธเชเชฌเชเชงเชฟเชค เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชญเซเชฒ เชจเชฅเซ, เชเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เช เชชเชนเซเชฒเชพเช เชฅเชพเชฏ เชเซ. เชฌเซเชเซเช, เชคเซ เชธเซเชชเชทเซเช เชเซ เชเซ เชเซเชฏเชพเชเช เชเซเชเช เชชเชนเซเชฒเซเชฅเซ เช เชญเซเชฒ เชธเชเชฆเซเชถ เชตเชพเชเชเซเชฏเซ เชเซ. เชเชตเซเช เชฒเชพเชเซ เชเซ เชเซ เชตเชพเชธเซเชคเชตเชฟเช เชธเชฎเชธเซเชฏเชพ เชฌเซเชเซ เชเซเชฏเชพเชเช เชเซ, เช เชจเซ bcrontab เชเชพเชฒเซ เชฎเซเชธเซเชเชจเซ เชชเซเชฒเซ เชเชฐเซ เชเซ.
เชเซ เชคเชฎเซ เชเซเช เชฎเชพเชฃเชธ 2 เชตเชพเชเชเซ, เชคเชฎเซ เชเซเช เชถเชเซ เชเซ เชเซ เชชเซเชฐเชฅเชฎ เชฆเชฒเซเชฒ (3) เชซเชพเชเชฒ เชตเชฐเซเชฃเชจเชเชฐเซเชคเชพ เชเซ, เชเซ *nix เชคเชฎเชพเชฎ I/O เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชตเชพเชชเชฐเซ เชเซ. เชนเซเช เชเซเชตเซ เชฐเซเชคเซ เชถเซเชงเซ เชถเชเซเช เชเซ เชซเชพเชเชฒ เชกเชฟเชธเซเชเซเชฐเชฟเชชเซเชเชฐ 3 เชถเซเช เชฐเชเซ เชเชฐเซ เชเซ? เช เชเซเชเซเชเชธ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเชฎเซ เชเชฒเชพเชตเซ เชถเชเซ เชเซ เชธเซเชเซเชฐเซเชธ เชเชชเชฐเซเชเชฐ เชธเชพเชฅเซ -ั (เชเชชเชฐ เชเซเช) เช เชจเซ เชคเซ เชคเชฎเชจเซ เชเชชเชฎเซเชณเซ เชเชนเซเชถเซ, เชชเชฐเชเชคเซ เชเชจเชพ เชเซเชตเซ เชธเชพเชฎเชเซเชฐเซเชจเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ, เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชตเชพเชเชเชตเซเช เช เชจเซ เชคเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเชตเซเช เชคเซ เชเชพเชฃเชตเซเช เชเชชเชฏเซเชเซ เชเซ.
เชซเชพเชเชฒ เชกเชฟเชธเซเชเซเชฐเชฟเชชเซเชเชฐเชจเซ เชธเซเชคเซเชฐเซเชค เชเชฃเชพ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธเชฎเชพเชเชฅเซ เชเช เชนเซเช เชถเชเซ เชเซ (เชคเซ เชฌเชงเซเช เชคเซเชจเชพ เชชเชฐ เชจเชฟเชฐเซเชญเชฐ เชเชฐเซ เชเซ เชเซ เชตเชฐเซเชฃเชจเชเชฐเซเชคเชพ เชถเซเชจเชพ เชฎเชพเชเซ เชเซ - เชเชจเซเชธเซเชฒ, เชจเซเชเชตเชฐเซเช เชธเซเชเซเช, เชซเชพเชเชฒ เชชเซเชคเซ, เช เชฅเชตเชพ เชฌเซเชเซเช เชเชเชเช), เชชเชฐเชเชคเซ เชคเซ เชเชฎเซ เชคเซ เชนเซเชฏ, เช เชฎเซ เชคเซเชจเซ เชถเซเชงเซเช เชเซเช. 3 เชชเชฐเชค เชเชฐเซเชจเซ เชเซเชฒ เชเชฐเซ (เชเชเชฒเซ โโเชเซ เช เชฎเซ เชเซเชฐเซเชธเชฟเชเช เชชเชฐเชฟเชฃเชพเชฎเซเชฎเชพเช โ= 3โ เชถเซเชงเซเช เชเซเช). เช เชชเชฐเชฟเชฃเชพเชฎเชฎเชพเช เชคเซเชฎเชพเชเชจเชพ 2 เชเซ: เชเชชเชจเซเช เชเซเชฌ เช เชเซเช เชชเชฐ เช เชจเซ เชธเซเชเซเช เชตเชเซเชเซ. เชเชชเชจเซเช เชซเชพเชเชฒ เชเซเชฒเซ เชเซ เชชเชฐเชเชคเซ เชฌเชเชง(3) เชชเชเซ เชฌเชคเชพเชตเชถเซ เชเซ เชคเซ เชซเชฐเซเชฅเซ เชฌเชเชง เชฅเชพเชฏ เชเซ. (เชฐเซเช: เชซเชพเชเชฒ เชกเชฟเชธเซเชเซเชฐเซเชชเซเชเชฐเซเชธ เชเซเชฏเชพเชฐเซ เชเซเชฒเชตเชพเชฎเชพเช เชเชตเซ เช เชจเซ เชฌเชเชง เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ เชคเซเชจเซ เชซเชฐเซเชฅเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ). เชเซเชฒ เชเชฐเซ เชธเซเชเซเช() เชฏเซเชเซเชฏ เชเซ เชเชพเชฐเชฃ เชเซ เชคเซ เชชเชนเซเชฒเชพเชจเซเช เชเซเชฒเซเชฒเซเช เชเซ เชตเชพเชเชเชตเซเช(), เช เชจเซ เชคเซ เชคเชพเชฐเชฃ เชเชชเซ เชเซ เชเซ bcrontab เชธเซเชเซเช เชฆเซเชตเชพเชฐเชพ เชเชเชเช เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ. เชเชเชณเชจเซ เชฒเชพเชเชจ เชฌเชคเชพเชตเซ เชเซ เชเซ เชซเชพเชเชฒ เชตเชฐเซเชฃเชจเชเชฐเซเชคเชพ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒ เชเซ เชฏเซเชจเชฟเชเซเชธ เชกเซเชฎเซเชจ เชธเซเชเซเช เชฐเชธเซเชคเชพเชฎเชพ /var/run/bcron-sool.
เชคเซเชฅเซ, เชเชชเชฃเซ เชคเซเชจเซ เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเซเชงเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชฏเซเชจเชฟเชเซเชธ เชธเซเชเซเช เชฌเซเชเซ เชฌเชพเชเซ เชชเชฐ. เช เชนเซเชคเซ เชฎเชพเชเซ เชเซเชเชฒเซเช เชธเซเชเชก เชฏเซเชเซเชคเชฟเช เชเซ, เชเซ เชฌเชเชจเซ เชธเชฐเซเชตเชฐ เชเชฎเชพเชตเชเชจเซ เชกเซเชฌเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชชเชฏเซเชเซ เชเซ. เชชเซเชฐเชฅเชฎ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเซ เชจเซเชเชธเซเชเซเช เช เชฅเชตเชพ เชตเชงเซ เชจเชตเซเช ss (เชธเซเชเซเช เชธเซเชฅเชฟเชคเชฟ). เชฌเชเชจเซ เชเชฆเซเชถเซ เชธเชฟเชธเซเชเชฎเชจเชพ เชธเชเซเชฐเชฟเชฏ เชจเซเชเชตเชฐเซเช เชเซเชกเชพเชฃเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ เช เชจเซ เชจเชฟเชตเซเชฆเชจ เชฒเซ เชเซ -l เชธเชพเชเชญเชณเชตเชพเชจเชพ เชธเซเชเซเชเซเชธ, เชคเซเชฎเช เชเชชเชฐเซเชเชฐเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพ เชฎเชพเชเซ -p เชเซเชฒเชพเชฏเชจเซเช เชคเชฐเซเชเซ เชธเซเชเซเช เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเชพ เชชเซเชฐเซเชเซเชฐเชพเชฎเซเชธ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ. (เชคเซเชฏเชพเช เชเชฃเชพ เชตเชงเซ เชเชชเชฏเซเชเซ เชตเชฟเชเชฒเซเชชเซ เชเซ, เชชเชฐเชเชคเซ เช เชฌเซ เช เชเชพเชฐเซเชฏ เชฎเชพเชเซ เชชเซเชฐเชคเชพ เชเซ.)
# ss -pl | grep /var/run/bcron-spool
u_str LISTEN 0 128 /var/run/bcron-spool 1466637 * 0 users:(("unixserver",pid=20629,fd=3))
เช เชธเซเชเชตเซ เชเซ เชเซ เชธเชพเชเชญเชณเชจเชพเชฐ เชเชฆเซเชถ เชเซ inixserver, เชชเซเชฐเซเชธเซเชธ เชเชเชกเซ 20629 เชธเชพเชฅเซ เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ. (เช เชจเซ, เชธเชเชฏเซเชเชฅเซ, เชคเซ เชธเซเชเซเช เชคเชฐเซเชเซ เชซเชพเชเชฒ เชกเชฟเชธเซเชเซเชฐเซเชชเซเชเชฐ 3 เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ.)
เชธเชฎเชพเชจ เชฎเชพเชนเชฟเชคเซ เชถเซเชงเชตเชพ เชฎเชพเชเซเชจเซเช เชฌเซเชเซเช เชเชฐเซเชเชฐ เชเชชเชฏเซเชเซ เชธเชพเชงเชจ เชเชนเซเชตเชพเชฏ เชเซ lsof. เชคเซ เชธเชฟเชธเซเชเชฎ เชชเชฐเชจเซ เชฌเชงเซ เชเซเชฒเซเชฒเซ เชซเชพเชเชฒเซ (เช เชฅเชตเชพ เชซเชพเชเชฒ เชตเชฐเซเชฃเชจเชเชฐเซเชคเชพเช)เชจเซ เชฏเชพเชฆเซ เชเชชเซ เชเซ. เช เชฅเชตเชพ เชคเชฎเซ เชเช เชเซเชเซเชเชธ เชซเชพเชเชฒ เชตเชฟเชถเซ เชฎเชพเชนเชฟเชคเซ เชฎเซเชณเชตเซ เชถเชเซ เชเซ:
# lsof /var/run/bcron-spool
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unixserve 20629 cron 3u unix 0x000000005ac4bd83 0t0 1466637 /var/run/bcron-spool type=STREAM
เชชเซเชฐเชเซเชฐเชฟเชฏเชพ 20629 เช เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เชเชพเชฒเชคเซเช เชธเชฐเซเชตเชฐ เชเซ, เชคเซเชฅเซ เชคเชฎเซ เชคเซเชจเซ เชเซเชกเซ เชถเชเซ เชเซ เชธเซเชเซเชฐเซเชธ เชเชเชเช เชเชชเชฏเซเช เชเชฐเซเชจเซ strace -o /tmp/trace -p 20629. เชเซ เชคเชฎเซ เชฌเซเชเชพ เชเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช เชเซเชฐเซเชจ เชเซเชฌ เชเชกเชฟเช เชเชฐเซ เชเซ, เชคเซ เชคเชฎเชจเซ เชญเซเชฒ เชธเชพเชฅเซ เชเซเชฐเซเชธ เชเชเชเชชเซเช เชฎเชณเชถเซ. เช เชจเซ เช เชนเซเช เชชเชฐเชฟเชฃเชพเชฎ เชเซ:
accept(3, NULL, NULL) = 4
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7faa47c44810) = 21181
close(4) = 0
accept(3, NULL, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=21181, si_uid=998, si_status=0, si_utime=0, si_stime=0} ---
wait4(0, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG|WSTOPPED, NULL) = 21181
wait4(0, 0x7ffe6bc36764, WNOHANG|WSTOPPED, NULL) = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {sa_handler=0x55d244bdb690, sa_mask=[CHLD], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7faa47ab9840}, {sa_handler=0x55d244bdb690, sa_mask=[CHLD], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7faa47ab9840}, 8) = 0
rt_sigreturn({mask=[]}) = 43
accept(3, NULL, NULL) = 4
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7faa47c44810) = 21200
close(4) = 0
accept(3, NULL, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=21200, si_uid=998, si_status=111, si_utime=0, si_stime=0} ---
wait4(0, [{WIFEXITED(s) && WEXITSTATUS(s) == 111}], WNOHANG|WSTOPPED, NULL) = 21200
wait4(0, 0x7ffe6bc36764, WNOHANG|WSTOPPED, NULL) = -1 ECHILD (No child processes)
rt_sigaction(SIGCHLD, {sa_handler=0x55d244bdb690, sa_mask=[CHLD], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7faa47ab9840}, {sa_handler=0x55d244bdb690, sa_mask=[CHLD], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7faa47ab9840}, 8) = 0
rt_sigreturn({mask=[]}) = 43
accept(3, NULL, NULL
(เชเซเชฒเซเชฒเชพ เชธเซเชตเซเชเชพเชฐเซ() เชเซเชฐเซเชธ เชเชฐเชคเซ เชตเชเชคเซ เชชเซเชฐเซเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช.) เชซเชฐเซเชฅเซ, เชเชฎเชจเชธเซเชฌเซ, เช เชชเชฐเชฟเชฃเชพเชฎเชฎเชพเช เช เชฎเซ เชถเซเชงเซ เชฐเชนเซเชฏเชพ เชเซเช เชคเซ เชญเซเชฒ เชถเชพเชฎเซเชฒ เชจเชฅเซ. เช เชฎเชจเซ เชเซเช เชธเชเชฆเซเชถเชพ เชฆเซเชเชพเชคเชพ เชจเชฅเซ เชเซ เชเซ bcrontag เชธเซเชเซเชเชจเซ เชฎเซเชเชฒเซ เชเซ เช เชฅเชตเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ เชเซ. เชคเซเชจเชพ เชฌเชฆเชฒเซ, เชธเชเชชเซเชฐเซเชฃ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชจเชฟเชฏเชเชคเซเชฐเชฃ (เชเซเชฒเซเชจ, เชฐเชพเชน เชเซเช4, SIGCHLD เชตเชเซเชฐเซ.) เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฌเชพเชณ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเชจเซเชฎ เชเชชเซ เชเซ, เชเซ เชคเชฎเซ เชงเชพเชฐเซ เชถเชเซ เชเซ, เชตเชพเชธเซเชคเชตเชฟเช เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ. เช เชจเซ เชเซ เชคเชฎเชพเชฐเซ เชคเซเชจเซเช เชชเชเซเชฐเซเช เชชเชเชกเชตเซเช เชนเซเชฏ, เชคเซ เชเซเชฒเชฎเชพเช เชเชฎเซเชฐเซ strace -f. เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชจเชตเชพ เชชเชฐเชฟเชฃเชพเชฎเชฎเชพเช เชธเซเชเซเชฐเซเชธ เชธเชพเชฅเซ เชเชฐเชฐ เชฎเซเชธเซเช เชถเซเชงเซเชถเซเช เชคเซเชฏเชพเชฐเซ เช เชเชชเชฃเชจเซ เชฎเชณเชถเซ -f -o /tmp/trace -p 20629:
21470 openat(AT_FDCWD, "tmp/spool.21470.1573692319.854640", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
21470 write(1, "32:ZCould not create temporary f"..., 36) = 36
21470 write(2, "bcron-spool[21470]: Fatal: logs:"..., 84) = 84
21470 unlink("tmp/spool.21470.1573692319.854640") = -1 ENOENT (No such file or directory)
21470 exit_group(111) = ?
21470 +++ exited with 111 +++
เชนเชตเซ, เชคเซ เชเชเชเช เชเซ. เชชเซเชฐเชเซเชฐเชฟเชฏเชพ 21470 เชชเชพเชฅ เชชเชฐ เชซเชพเชเชฒ เชฌเชจเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชคเซ เชตเชเชคเซ "เชเชเซเชธเซเชธ เชจเชเชพเชฐเซเชฒ" เชญเซเชฒ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ เชเซ tmp/sool.21470.1573692319.854640 (เชตเชฐเซเชคเชฎเชพเชจ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ เชธเชพเชฅเซ เชธเชเชฌเชเชงเชฟเชค). เชเซ เชเชชเชฃเซ เชตเชฐเซเชคเชฎเชพเชจ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชจเชฟเชฐเซเชฆเซเชถเชฟเชเชพ เชเชพเชฃเชคเชพ เชนเซเชเช, เชคเซ เช เชฎเซ เชธเชเชชเซเชฐเซเชฃ เชชเชพเชฅ เชชเชฃ เชเชพเชฃเชคเชพ เชนเซเชเชถเซเช เช เชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชพ เชฎเชพเชเซ เชคเซเชจเซ เช เชธเซเชฅเชพเชฏเซ เชซเชพเชเชฒ เชคเซเชฎเชพเช เชฌเชจเชพเชตเซ เชถเชเชคเซ เชจเชฅเซ เชคเซ เชธเชฎเชเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ เชฅเชเชถเซเช. เชเชฎเชจเชธเซเชฌเซ, เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชชเชนเซเชฒเชพเชฅเซ เช เชฌเชนเชพเชฐ เชจเซเชเชณเซ เชเช เชเซ, เชคเซเชฅเซ เชคเชฎเซ เชซเชเซเชค เชเชชเชฏเซเช เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ lsof -p 21470 เชตเชฐเซเชคเชฎเชพเชจ เชกเชฟเชฐเซเชเซเชเชฐเซ เชถเซเชงเชตเชพ เชฎเชพเชเซ, เชชเชฐเชเชคเซ เชคเชฎเซ เชตเชฟเชฐเซเชฆเซเชง เชฆเชฟเชถเชพเชฎเชพเช เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ - PID 21470 เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชธ เชเซเช เชเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ เชฌเชฆเชฒเซ เชเซ. (เชเซ เชคเซเชฏเชพเช เชเซเช เชจ เชนเซเชฏ, เชคเซ PID 21470 เช เชคเซเชจเซ เชคเซเชจเชพ เชฎเชพเชคเชพเชชเชฟเชคเชพ เชชเชพเชธเซเชฅเซ เชตเชพเชฐเชธเชพเชฎเชพเช เชฎเซเชณเชตเซเชฏเซเช เชนเซเชตเซเช เชเซเชเช, เช เชจเซ เชคเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเซ. lsof -p เชถเซเชงเซ เชถเชเชพเชคเซเช เชจเชฅเซ.) เช เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซ chdir (เชเซ เชเชงเซเชจเชฟเช เชเชจเชฒเชพเชเชจ เชธเชฐเซเช เชเชจเซเชเชฟเชจเชจเซ เชฎเชฆเชฆเชฅเซ เชถเซเชงเชตเชพเชฎเชพเช เชธเชฐเชณ เชเซ). เช เชจเซ เชธเชฐเซเชตเชฐ PID 20629 เชธเซเชงเซเชจเชพ เชคเชฎเชพเชฎ เชฐเซเชคเซ เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชจเชพ เชเชงเชพเชฐเซ เชตเชฟเชชเชฐเซเชค เชถเซเชงเซเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เช เชนเซเช เชเซ:
20629 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7faa47c44810) = 21470
...
21470 execve("/usr/sbin/bcron-spool", ["bcron-spool"], 0x55d2460807e0 /* 27 vars */) = 0
...
21470 chdir("/var/spool/cron") = 0
...
21470 openat(AT_FDCWD, "tmp/spool.21470.1573692319.854640", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EACCES (Permission denied)
21470 write(1, "32:ZCould not create temporary f"..., 36) = 36
21470 write(2, "bcron-spool[21470]: Fatal: logs:"..., 84) = 84
21470 unlink("tmp/spool.21470.1573692319.854640") = -1 ENOENT (No such file or directory)
21470 exit_group(111) = ?
21470 +++ exited with 111 +++
(เชเซ เชคเชฎเซ เชเซเชตเชพเช เชเชฏเชพ เชนเซ, เชคเซ เชคเชฎเซ เชเชฆเชพเช เชฎเชพเชฐเซ เช
เชเชพเชเชจเซ เชชเซเชธเซเช เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เชเซ
# ls -ld /var/spool/cron/tmp/
drwxr-xr-x 2 root root 4096 Nov 6 05:33 /var/spool/cron/tmp/
# ps u -p 20629
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
cron 20629 0.0 0.0 2276 752 ? Ss Nov14 0:00 unixserver -U /var/run/bcron-spool -- bcron-spool
เชคเซเชฏเชพเช เช เชเซเชคเชฐเชพเชจเซ เชฆเชซเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ! เชธเชฐเซเชตเชฐ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซเชฐเซเชจ เชคเชฐเซเชเซ เชเชพเชฒเซ เชเซ, เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ เชฐเซเชเชจเซ เช เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฒเชเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเซ /var/sool/cron/tmp/. เชธเชฐเชณ เชเชฆเซเชถ เชเชพเชเชจ เชเซเชฐเซเชจ /var/เชธเซเชชเซเชฒ/เชเซเชฐเซเชจ/tmp/ เชฆเชฌเชพเชฃ เชเชฐเชถเซ bcron เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซ. (เชเซ เชคเซ เชธเชฎเชธเซเชฏเชพ เชจ เชนเชคเซ, เชคเซ เชชเชเซเชจเซ เชธเชเชญเชตเชฟเชค เชถเชเชเชพ เช SELinux เช เชฅเชตเชพ AppArmor เชเซเชตเชพ เชเชฐเซเชจเชฒ เชธเซเชฐเชเซเชทเชพ เชฎเซเชกเซเชฏเซเชฒ เชเซ, เชคเซเชฅเซ เชนเซเช เชเชฐเซเชจเชฒ เชธเชเชฆเซเชถ เชฒเซเชเชจเซ เชคเซเชจเซ เชธเชพเชฅเซ เชคเชชเชพเชธเซเชถ. dmesg.)
เชเซเชฒ
เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชฐเซเชธ เชถเชฟเชเชพเช เชฎเชพเชฃเชธ เชฎเชพเชเซ เชเชฌเชฐเชเชธเซเชค เชนเซเช เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชฎเชจเซ เชเชถเชพ เชเซ เชเซ เชฎเซเช เชฌเชคเชพเชตเซเชฏเซเช เชเซ เชเซ เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชเชฎเชพเชตเช เชธเชฎเชธเซเชฏเชพเชเชจเชพ เชธเชเชชเซเชฐเซเชฃ เชตเชฐเซเชเชจเซ เชกเซเชฌเช เชเชฐเชตเชพเชจเซ เชเชกเชชเซ เชฐเซเชค เชเซ. เชฎเชฒเซเชเซเชชเซเชฐเซเชธเซเชธเชจเซ เชกเซเชฌเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชตเชพเชจเซ เชเชฒเซเชชเชจเชพ เชเชฐเซ bcronเชธเซเชเซเชช-เชฌเชพเชฏ-เชธเซเชเซเชช เชกเซเชฌเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ.
เชธเชฟเชธเซเชเชฎ เชเซเชฒ เชเซเชเชจ เชธเชพเชฅเซ เชชเชพเชเชณเชจเซ เชคเชฐเชซ เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชชเชพเชฐเซเชธ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชถเชฒเซเชฏเชจเซ เชเชฐเซเชฐ เชเซ, เชชเชฐเชเชคเซ เชฎเซเช เชเชนเซเชฏเซเช เชคเซเชฎ, เชฒเชเชญเช เชนเชเชฎเซเชถเชพ, เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเซเชเซเชฐเซเชธ, เชฎเชจเซ เชซเชเซเชค เชเซเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎ เชฎเชณเซ เชเซ เช เชจเซ เช เชเชคเชฅเซ เชถเชฐเซ เชฅเชคเซ เชญเซเชฒเซ เชถเซเชงเซเช เชเซเช. เชเซเชเชชเชฃ เชฐเซเชคเซ, เชธเซเชเซเชฐเซเชธ เชฎเชจเซ เชกเชฟเชฌเชเซเชเช เชชเชฐ เชเชฃเซ เชธเชฎเชฏ เชฌเชเชพเชตเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเซ เชเซ. เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เชคเซ เชคเชฎเชจเซ เชชเชฃ เชเชชเชฏเซเชเซ เชฅเชถเซ.
เชธเซเชฐเซเชธ: www.habr.com