How to get the same hash value between parent processor and child processor in Python concurrent.futures.ProcessPoolExecutor?

I want to obtain the same hash value of a dataframe in both parent processor and child processor in parallel computing. However, I can't get the same one. The following shows my codes:

from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor
import pandas as pd
import os
def process(x):

    df = pd.DataFrame([1, 'abghhhj'])
    print(hash(str(df.values.tolist())))
    return df

def main():

    executor = [ProcessPoolExecutor, ThreadPoolExecutor][0]
    df = pd.DataFrame([1, 'abghhhj'])
    with executor(max_workers=2) as executor:
        executor.map(process,range(2))
    for i in range(2):
        print(hash(str(df.values.tolist())))

if __name__ == '__main__':

    os.environ['PYTHONHASHSEED'] = '0'
    main()

I learner that if I set

os.environ['PYTHONHASHSEED'] = '0'

then the hash value will be the same at all children processors. But the hash values between the parent processor and child processor are still different.

Any suggestions for that? If you have no answer to this, could you tell me how to convert dataframe to the key of the dictionary? I need the fastest way to do it because my model is time-sensitive. Thanks in advance.