當我scp文件時,我可以用^ Z來阻止它,並把它放在後臺。當它在後臺時停止打印它的進度,但複製繼續。如果我再次前景,它會恢復打印。它如何知道? SIGTTOU?這是否發生在標準的ptty上?一個過程如何知道它是什麼時候背景?
2
A
回答
1
我的一位同事和我實際上通過來源查找並找到答案。
每當scp打印輸出時,它都會在stdout上運行tcgetpgrp。這將返回終端的控制進程組(假設它是一個終端)。只有在控制終端的進程組與scp的進程組相同時纔會打印出來。結果不需要信號! (雖然它處理SIGWINCH來計算進度線的大小)。
2
是的,你明白了。該進程會陷入或忽略SIGTTOU(也可能是SIGTTIN,取決於它在做什麼),然後在接收到這些信號時它會正常運行。 Linux的確在真正的僞終端上發送這些信號。
相關問題
- 1. 如何知道什麼時候點擊一個鏈接在php
- 2. 返回文件流 - 如何知道它什麼時候完成
- 3. 如何知道什麼是背景動畫圖像
- 4. 什麼是西格瑪剪裁?你怎麼知道什麼時候應用它?
- 5. 如何知道什麼時候Drupal節點是新的
- 6. 如何知道什麼時候用javascript打開程序?
- 7. node.js async.each回調,我怎麼知道它什麼時候完成?
- 8. Iphone CLLocationManager horizontalAccuracy更新。什麼時候?我怎麼知道它?
- 9. 知道什麼時候MFMailComposeViewController不見了
- 10. 知道什麼時候調用persist
- 11. 如何知道什麼時候通過的Process.Start創建進程()被關閉?
- 12. 知道什麼時候一個文件上傳到Dropbox的
- 13. 讓服務知道什麼時候運行了一個方法
- 14. JSP - 知道什麼時候我退出一個JSP頁面
- 15. 知道什麼時候一個UIProgressView停止動畫
- 16. 你怎麼知道什麼時候一個類應該是抽象的?
- 17. 我如何知道什麼時候索引一列,並用什麼?
- 18. iPhone - 知道什麼時候UIImageView加載了它的圖像
- 19. 如何知道什麼時候一組圖片是從網上下載?
- 20. 一個線程池讓我知道什麼時候至少有1個完成?
- 21. Trigger.IO:知道什麼時候通過推送通知打開應用程序
- 22. 如何知道什麼時候,如果有這些動畫
- 23. jquery,如何知道什麼時候輸入有一個:無效的選擇器?
- 24. 需要知道什麼時候是新的一天,即時間是00:00:00
- 25. 對WriteAsync的異步調用,我如何知道它什麼時候完成?
- 26. 有什麼方法可以知道什麼時候創建了一個對象?
- 27. 這個背景應用程序通知的名稱是什麼?
- 28. 如何讓Android操作系統知道我的應用程序有什麼東西要做,當它是背景?
- 29. 背景工作人員檢查什麼時候是午夜?
- 30. 不知道什麼時候使用抽象屬性,什麼時候不使用
這可能是你的shell的一個功能嗎? – Cogsy 2009-06-16 15:01:27
我在想沒有。我使用bin/bash(不是那種令人興奮的shell),sh和ksh具有相同的行爲 – jdizzle 2009-06-16 15:31:43