簡単なことだと思いますが、どうしてもできずに困っております。  
皆さまのお知恵を拝借致したく投稿しております。

問題は、Qsubを使ってジョブを投げる時に特定のLinuxホストを避ける方法を探しています。

例えば、Hostname_A, Hostname_B, Hostname_C, Hostname_Dという４台のNodeがあると仮定します。  
特定のNodeにジョブを投げる時には、

```

    qsub -l h='Hostname_A' xxx.sh
    
```

で大丈夫だと思いますが、逆（Hostname_AやHostname_C）を知りたいです。

```

    qsub -l h!='Hostname_A' && 'Hostname_C' xxx.sh
    
```

みたいなことがしたいです。

Qsubを使ってジョブを投げていましたが、いくつかのホストではメモリー制限で稼働しないことがわかりました。  
そのホスト名はわかりますが、それを除いてQsubすることができずに困っております。

ご存知の方がおられましたら、ご教授をお願いします。
CC BY-SA 4.0
2021-11-18T21:54:38.067
83704
2021-11-19T00:30:14.743
2021-11-19T00:30:14.743
3060
11048
question
linux
Qsubを使ってジョブを投げる時に特定のホストを避ける方法について
再度詳しく見直してみましたら、自分の間違いに気がつきました。

以下のページを参考にしました。  
[excluding nodes from qsub command under sge - Stack
Overflow](https://stackoverflow.com/questions/13861220/excluding-nodes-from-
qsub-command-under-sge/19421157)

質問でも示した通り、

```

    qsub -l h!=Hostname_A xxx.sh
    
```

としておりましたが、正しくは

```

    qsub -l h=!(Hostname_A) xxx.sh
    
```

でした。このコマンドでは、Hostname_A以外のホストにジョブを投げる指示になります。

複数台ある場合は、

```

    qsub -l h=!(Hostname_A|Hostname_B) xxx.sh
    
```

で作動することを確認しました。
CC BY-SA 4.0
2021-11-18T22:05:22.683
83705
2021-11-19T00:27:40.820
2021-11-19T00:27:40.820
3060
11048
83704
answer