我完全不知道用SLURM把工作提交给一个高性能计算机,我正面临着一个我无法解决的特殊问题。
我有一个job.slurm文件,其中包含以下bash脚本
#!/bin/bash
#SBATCH --job-name singularity-mpi
#SBATCH -N 1 # total number of nodes
#SBATCH --time=00:05:00 # Max execution time
#SBATCH --partition=partition-name
#SBATCH --output=/home/users/r/usrname/slurm-reports/slurm-%j
我找到了对srun --pty bash -i (参见)的引用,但是当我在我的集群上运行它时,它会立即退出。
$ srun --pty bash -i
$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
1 team bash schmmd R 0:02 1 team-server1
我可以获得一个与srun bash的交互会话,但是我没有shell提示符(例如$),并且我的会话看起来就像下面这样
我正在尝试使用超出结构大小分配的内存来模拟“有效负载”,并允许该有效负载包含指向另一个结构的指针。有没有人能告诉我这是可能的还是我正在尝试做的是不可行的。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define ptrsize sizeof(char*)
typedef struct s{
int i;
short j;
long k;
}S;
S *salloc(int sz,int i,short j,long k){
S *m=malloc(sizeof(S)
在shell程序中,我想启动一个程序,并获得它的PID并保存在一个临时文件中。但在这里,我将在前台启动程序,并且在进程处于运行状态之前不会退出shell
例如:
#!/bin/bash
myprogram &
echo "$!" > /tmp/pid
这工作得很好,我能够得到启动进程的pid。但是如果我在前面启动程序,我想知道如何获得pid
例如:
#!/bin/bash
myprogram /// hear some how i wan to know the PID before going to next line