Duran İşlerin Sürdürülmesi
Önceki Bir İş Denetim kabuğunun Gerçeklenmesi Sonraki
Duran İşlerin Sürdürülmesi
Kabuk durmuş bir işi onun süreç grubuna bir SIGCONT sinyali göndererek çalışmaya devam etmesini sağlayabilir. İşin önalanda sürdürülmesi durumunda, kabuk önce uçbirimde erişim vermek için bir tcsetpgrp çağrısı yapmalıdır. İş önalanda kaldığı yerden çalışmaya başladıktan sonra sanki iş önalanda ilk defa başlatılmış gibi kabuk işin tamamlanması ya da durmasını beklemek zorundadır.
Örnek kabuk yazılımında hem yeni oluşturulan hem de devam ettrilen işler aynı işlev çiftiyle, put_job_in_foreground ve put_job_in_background işleviyle izlenirler. Bu işlevlerin tanımları Önalan ve Artalan bölümündeki örnek kod parçasında bulunabilir. Durmuş bir işin devam ettrilmesi durumunda cont argümanına sıfırdan farklı bir değer atanarak SIGCONT sinyalinin gönderilmesi ve uçbirim kiplerinin eski değerlerine getirilmesi sağlanır.
Burada durmuş işin tekrar çalışmaya devam etmesini sağlayan kod parçası gösterilmiştir:
/* Durmuş j işini tekrar çalışmaya başlasın diye imleyelim.  */

void
mark_job_as_running (job *j)
{
  Process *p;

  for (p = j->first_process; p; p = p->next)
    p->stopped = 0;
  j->notified = 0;
}

/* j işi devam etsin.  */

void
continue_job (job *j, int foreground)
{
  mark_job_as_running (j);
  if (foreground)
    put_job_in_foreground (j, 1);
  else
    put_job_in_background (j, 1);
}
Önceki Üst Ana Başlık Sonraki
İşlerin Durdurulması ve Sonlandırılması Başlangıç Eksik Parçalar
Bir Linux Kitaplığı Sayfası