Linux'ta çalışan bir sürecin müdahaleci olmayan bir aldatmaca almak için bir yol arıyorum.
GdB'leri tanıyorum gcore
, ancak bu yalnızca sürece gdb
eklendiğinde ve hata ayıklama için durdurulduğunda çalıştırılabilir . Kesintisiz infazın birçok saniyesi, hatta birkaç dakikası anlamına gelebilecek büyük bir çekirdek dökümü için.
Herhangi bir engelleyici olmayan alternatif var mı?
Linux destekleri üzerine kopyalama yazma o destek için dayandığı bellek, fork()
olmadan exec()
. Bu yüzden, çekirdeğin, atılmakta olan işlemin işlem sayfa tablolarının bir kopyasını yazarken anlık görüntüsünü aldığı çekirdek düzeyinde bir şey düşünüyorum, sonra orijinal işlem devam ederken çekirdeği yazıyor.
Ebeveynim mutlu bir şekilde devam ederken çocuğu terk gdb
etmeye zorlamak için kullanabileceğimden eminim fork()
, daha sonra wait()
ebeveyni sona erdikten sonra çocuğu biçmek için. Yine de dağınık ve ana süreçte kısa da olsa iki kesinti gerektiriyor.
Elbette daha önce buna ihtiyaç var mı?