Xin lỗi trước cho những gì có lẽ là một câu hỏi đơn giản. Tôi có một số câu hỏi cơ bản về việc sử dụng ssh để chạy các chương trình mà tôi không thể giải quyết thông qua Google. Tôi đang sử dụng Unix (thông qua chương trình "Terminal" trên Mac OS 10.6.7).
Tôi đang truy cập vào một máy khác bằng ssh. Khi đó, tôi đang chạy một số mã. Điều này dẫn đến các tập tin đầu ra trong một thư mục trên máy đó. Tôi chấm dứt một cuộc chạy bằng cách làm "control C." Tôi thoát khỏi các tập tin đầu ra bằng cách làm:
find . -type f -name "*.vtk" -exec rm -f {} \;
Vấn đề là ở đó:
Người có máy cho tôi biết có nhiều phiên bản mã của tôi đang chạy. Tôi không hiểu làm thế nào tôi không ngăn chặn những điều này bằng cách thực hiện "kiểm soát C." Bất cứ ai có thể giải thích?
Ngoài ra (điều này có thể liên quan đến vấn đề đầu tiên), khi tôi chạy lệnh "tìm" ở trên để loại bỏ các tệp đầu ra, nếu tôi đợi vài giây / phút, một số tệp đầu ra đã xuất hiện trở lại! Điều này có thể liên quan đến các phiên bản "ma" của mã đang chạy mà tôi không thể chấm dứt không?
Nếu bất cứ ai có thể cho tôi biết làm thế nào để đảm bảo rằng tôi đã chấm dứt TẤT CẢ các lần chạy và cách loại bỏ TẤT CẢ các tệp đầu ra vtk (hoặc hậu tố khác) khỏi một thư mục, tôi thực sự sẽ đánh giá cao nó. Ngoài ra, bất kỳ đề xuất nào liên quan đến tài nguyên trực tuyến về tất cả các công cụ ssh này sẽ rất được hoan nghênh. Cảm ơn rất nhiều.
Ctrl+Cthông thường chấm dứt chương trình đang chạy trong thiết bị đầu cuối, nhưng các chương trình được phép bắt tín hiệu. Ngoài ra, nếu chương trình bao gồm một số quy trình, có thể không phải tất cả các quy trình sẽ bị giết. Bạn đã viết chương trình đó, hay bạn chỉ là người dùng của nó? Chương trình đó là gì? Biến thể nào của unix đang chạy trên máy từ xa? Chính xác thì bạn sử dụng lệnh ssh nào để chạy chương trình?
uname -srtrên máy từ xa để xem biến thể unix nào đang chạy. Bạn có sử dụng forkhoặc xử lý tín hiệu trong chương trình của bạn, hoặc một thư viện có thể sử dụng chúng dưới mui xe không?